Search the Community
Showing results for tags 'insertion point'.
Found 6 results
Insert a block at multiple points or lines and scale
grouch19 posted a topic in AutoLISP, Visual LISP & DCLG'day all I'm working on and editing a mapping project from photogrammetry. I have a block which indicates a square manhole cover. (File is attached to this post) My project area has hundreds of these manholes and my client needs each of them scaled and rotated to fit the exact size of the manhole. I had been manually doing this with the help of an ECW image in the background. But the process is rather tedious and not all that accurate. My operators can pick up a three point string showing the height and length of the manhole. Some manholes are square and some are rectangular. I have a few lisp routines that get the block in there. The block insertion point comes in at the first plotted point as required. Is there any similar LISP that will insert the attached block dwg file at the first point collected and scale it based on the 2nd and third point whilst keeping the elevation heights? I've attached two dwg files... One is the block itself and one is a diagram with a better explanation. I've also added a screen shot of what is required. Any help would be appreciated Cheers guys Manhole.dwg BlockSample.dwg
Dynamic block replacement fails but static block is working
Marcel van Ellen posted a topic in AutoLISP, Visual LISP & DCLDear All, I have a problem replacing blocks (titleblock) which is sometimes a dynamic block. When replacing blocks with a new one i get a lselsetp nil error when there is a dynamic block involved. What i try to do is the following: - I try to replace the block by finding it by name (so no manual selection is needed because of a script) - read the coordinates of the old block - read the scale of the old block - delete the block - purge all unused blocks in the drawing - insert the new one in the drawing at the right scale and coordinates The A0KILL does work for static blocks but someone used dynamic ones in our drawings. Now i have to do these blocks by hand for 15000 drawings. Can anyone help me with this issue? (Old blockname is OHTITLE the new one OH-TITLE) (DEFUN C:A0KILL() (setq OHINS (cdr (assoc 10 (entget (ssname (ssget "X" '((2 . "OHTITLE"))) 0))))) (setq OHX (cdr (assoc 41 (entget (ssname (ssget "X" '((2 . "OHTITLE"))) 0))))) (setq ss (ssget "X" '((0 . "INSERT")(2 . "OHTITLE")))) (command "_.erase" ss "") (repeat 3 (command "_.purge" "_B" "*" "_N") ) ; end repeat (command "-insert";Command "K:\\AutoCAD Standaard\\2014\\ALGEMEEN\\Kaders\\Titelh\\Nederlands\\A0\\OH-TITLE.DWG" ;Block Name OHINS OHX "" ) (setq OHINS nil) (setqoh OHX nil) (setq ss nil) )
Rotating multiple objects / text in 3d around their insertion point
tmduk posted a topic in AutoLISP, Visual LISP & DCLHi there all First post and it's a request for help (although been a long time lurker) I've got a 3d drawing that has a load of levels in 3d positions with text displaying the height value. These are all orientated and readable in plan view. I want to create some sections using the 3d information, and what I would like to work out is the best way to manipulate the level cross (block) and associated text so that it is rotated to a side on section view. (in model space not just in a paper space viewport) I've tried using the rotate3d command on mass and can't quite get the results I'm after, basically it rotates the text so that it is now readable in the section but when selecting multiple items it rotates the whole lot around one datum rather than rotating each item around it's own insertion / justification point. in the above image, to the left is what I'm starting with levels (red) in 3d - next is the result I get from using the command rotate3d (levels in white) when they are selected in one go. the text is rotated so that it's legible but has moved away from the 3d polyline - the 2 to the right show what i'm aiming for, having manually moved them to their representative points and then rotated, however there's gonna be quite a few to rotate and shift along different sections, so it would be good to have this a bit more automated any suggestions? am I not using rotate3d to it's full potential or is this something that would need to be solved with a lisp routine? picking a temp ucs along the section line and then selecting the relative objects to rotate thanks in advance
As the title says, I am trying to paste an object (circle) via x and y coordinates. Let's say they are: Center X: 1578516'-11 3/8" Center Y: 572762'-9 1/2" Everything works fine until I get to the space...that is, 1578516'-11[space]3/8" because if I hit the space bar it will submit my command and I will not be able to input the rest of the coordinate (3/8"). Is there a specific way to type these coordinates without using a space from the spacebar? I have tried a hyphen in place of the space bar and it doesn't work. Any ideas?
Inserting block changes my ucs
Redheaded Drafter posted a topic in AutoCAD 2D Drafting, Object Properties & InterfacePlease help! Every time I insert a block (dynamic or otherwise) into any drawing (I have tried several) my ucs (0,0) changes to the insertion point of that new block. I don't know what I have done, what button I have inadvertently pushed or setting that I have set, but I do not know how to undo this! Has anyone ever heard of this? Please help me! I am using AutoCAD 2014.
Set Z Position of all Blocks to Zero
harilalmn posted a topic in AutoLISP, Visual LISP & DCLWhat is wrong in the code? I am trying to set the Z position value to zero for all the blocks in the drawing; (defun c:B0() (setq myFilter(list (cons 0 "INSERT"))) (setq ss (ssget "_X" myFilter)) (setq l (sslength ss)) (setq i 0) (Repeat l (setq blk (ssname ss i)) (setq DXF (entget (car blk))) (setq IP (cadr (assoc 0 dxf))) (setq NewIP (subst "0" (caddr IP) IP)) (setq NewDXF (subst NewIP IP DXF)) (entmod NewDXF) ) )