Search the Community
Showing results for tags 'selecting text'.
-
Insert Blocks at Insertion Points of Selected Characters
nick777 posted a topic in AutoLISP, Visual LISP & DCL
Right now I have 15,000 drawings that use letters instead of symbols, an artifact of a now defunct CAD software that translated the letters into symbols. I'd like to remake this in AutoCAD by inserting blocks at the location of those letters. I cannot find instructions on how to do this anywhere, and I need to add the following things to my code: 1 - Insert a set of blocks from another drawing. 2 - Select a specific letter from text in a specific layer in code 3 - Insert one of the newly inserted blocks at the insertion point of the letter 4 - Delete the character as it is no longer needed (unless it was replaced, then it wouldn't be there anymore) Example: Import set of blocks from template drawing. Select from layer "Curb Valve" the character "R" from a piece of text in the layer (exact match preferred if possible). Replace this symbol with a block named "CurbValve." I know you can get the X,Y of the text letter and manually type that in when you manually insert a block, so if you can detect this somehow and assign it to a variable, then use that variable to use as the insertion point of the block it would work. I just haven't been able to figure out how to do it programmatically. Thank You!- 6 replies
-
- block library
- block insert
-
(and 2 more)
Tagged with:
-
Hi all, I have a lisp routine that i wrote that when i run it, it will wblock out what i need to a separate file just by clicking on the border of the object, it uses the (Useri1) variable to asign the file name which is okay but i would like to be able to click on the part number (B2) for example instead so when people use it the file name is the part number. i would really appreciate any help. (defun c:psave (/ ss mn mx) (vl-load-com) (setvar "cmdecho" 0) (setvar "filedia" 0) (princ "\n Panel Number is ")(princ (getvar "useri1")) (princ ". To change this, reset the system variable USERI1") (setq pnum(getvar "useri1")) (if(= pnum 0)(setq pnum 1)) (setvar "useri1" (+ pnum 1)) (setq pnum(itoa pnum)) (if (setq ss (ssget "_:S:E" '((0 . "INSERT,LWPOLYLINE")))) (progn (vla-getboundingbox (vlax-ename->vla-object (ssname ss 0)) 'mn'mx) (command "wblock" pnum " " "0" "WINDOW" (trans (vlax-safearray->list mn) 0 1) (trans (vlax-safearray->list mx) 0 1) "") (setvar "cmdecho" 1) (setvar "filedia" 1) ) ) ) (princ) Thanks, Brian
-
Hi All, I'm looking for a routine that when i select the text it would create a layer with the text as it's name. i.e text (S7) = layer name is S7. thanks Brian
-
Has anyone had this problem with selecting text? I use AutoCAD 2005, and I've made project logs which contain mtext for logging work I do each day, and tables for logging Revisions and prints and whatnot related to the project. I've noticed, especially since adding the tables to the log template, that sometimes I cannot select the mtext, but if I go to paperspace and doubleclick in a viewport, I can select it, and once I do that, and move the text and then move it back, I can go back to modelspace and select it just fine. Right now I have one particular project log dwg file that does this every time I open it, and if I save the drawing in modelspace, the next time I open it, I have the problem in modelspace, but if I save it in paperspace, it's the other way around and I can select it in modelspace. Does this have something to do with a bug in the tables? The problems seemed to have started once I implemented the tables. I've also noticed that when I layiso defpoints, I can't select anything on defpoints; I'm not sure if that's related or not. Thanks in advance, Matt