Leaderboard
Popular Content
Showing content with the highest reputation on 04/12/2022 in all areas
-
2 points
-
This should be what you need. www.lee-mac.com/steal.html2 points
-
I am with Mhupp here, sounds like it will be a lot simpler to edit the block rather than explode and remake it. What kind of editing to the blocks would you be doing? might help for clarity1 point
-
You can add/remove items from a block when in refedit with the command refset. I recommend not exploding blocks because its easier add items or edit it. first you have to retain the block name somehow so you can recall it when making the new block. then you either have to purge the old definition if its a single block or redefine it if their are multiple blocks. and with redefining the block comes a whole new set of problems. does it have the same rotation angle? the one you exploded was at 33.5 degrees but when your redefining it the angle will be 0. this means all the other blocks will rotate -33.5 degrees. Where was the insertion point? If you don't pick the same spot all the other blocks in the drawing will move.1 point
-
Hi @Steven P, This is the thing I was looking for. Perfect. Thank you so much. You saved me.1 point
-
I didn't mean to suggest that you were a newbie, nice looking models. As it turns out having had an .SVF file wouldn't have gotten you out of that particular conundrum, as UCSDETECT setting is saved in the drawing, not the registry, as explained in this screenshot from the SYSVDLG (SystemVariableDialog)...wherein one can learn plenty. I favor just using my cursor arrow to scroll down through any parts of the list which seem intrigueing. Done that way, each variable and available options will be displayed until you click it again to scroll to the next System Variable. If you have such a file and are working at another machine, you can instantly tweak it to your personal preferences. Have a heart though, and if you are on someone else's machine, make sure you save their >SVF file before installing yours, so you can restore them before exiting the machine.1 point
-
I'm not a super advanced autocad expert, but I'm no amateur either.. Here are some drawings I've made in the past.. (Edit: I guess the forum won't display a BMP file so here's a JPG of a drawing. ) I have a folder on my drive called my "Hardware Store" with thousands of individual 1:1 scale drawings of everything from steel, pvc and brass pipe fittings, electrical controls, nuts and bolts of all sizes, cotter pins, pillow block bearings, roller bearings, blower fans, cinder blocks, dimensional lumber, hinges, gauges, heaters, filters, pumps, etc. All drawn to actual sizes of the real part specs and checked against an actual part. But damn.. that F6 just punched my lights out.. That doesn't happen often.1 point
-
That's weird. Do you have Snap (F9) enabled? Maybe your cursor is jumping to the nearest grid point? An alternative would be to create a 4" dia. circle, offset it to create the 4.5" circle and then use Presspull to extrude the pipe.1 point
-
1 point
-
Hello; How can i get this app? this is my email if you can send it I will be appreciated your favor eng_torman@hotmail.com1 point
-
For primary entities only, use a combination of tblobjname & entnext: (defun blockcomponents ( blk / ent lst ) (if (setq ent (tblobjname "block" blk)) (while (setq ent (entnext ent)) (setq lst (cons ent lst)) ) ) (reverse lst) ) Call the above with a block name argument, e.g.: _$ (blockcomponents "YourBlockName") (<Entity name: 7ffff706950> <Entity name: 7ffff706960> <Entity name: 7ffff706970>) To include nested objects, check for the presence of a block reference (INSERT) entity and include a recursive call, e.g.: (defun blockcomponents ( blk / ent enx lst ) (if (setq ent (tblobjname "block" blk)) (while (setq ent (entnext ent)) (if (= "INSERT" (cdr (assoc 0 (setq enx (entget ent))))) (setq lst (vl-list* (blockcomponents (cdr (assoc 2 enx))) ent lst)) (setq lst (cons ent lst)) ) ) ) (reverse lst) ) The above will return a list of entity names with sublists containing the entity names corresponding to the components of nested block references, e.g.: _$ (blockcomponents "block1") (<Entity name: 7ffff7069f0> <Entity name: 7ffff706a00>) _$ (blockcomponents "block2") (<Entity name: 7ffff706a50> (<Entity name: 7ffff7069f0> <Entity name: 7ffff706a00>) <Entity name: 7ffff706a60> <Entity name: 7ffff706a70>) _$ (blockcomponents "block3") (<Entity name: 7ffff706ad0> (<Entity name: 7ffff706a50> (<Entity name: 7ffff7069f0> <Entity name: 7ffff706a00>) <Entity name: 7ffff706a60> <Entity name: 7ffff706a70>) <Entity name: 7ffff706ae0> <Entity name: 7ffff706af0>) Here, Block1 is nested within Block2 is nested within Block3. If you don't want the nested list structure, use append in place of vl-list*, e.g.: (defun blockcomponents ( blk / ent enx lst ) (if (setq ent (tblobjname "block" blk)) (while (setq ent (entnext ent)) (if (= "INSERT" (cdr (assoc 0 (setq enx (entget ent))))) (setq lst (append (blockcomponents (cdr (assoc 2 enx))) (cons ent lst))) (setq lst (cons ent lst)) ) ) ) (reverse lst) ) This now returns a flat list: _$ (blockcomponents "block1") (<Entity name: 7ffff7069f0> <Entity name: 7ffff706a00>) _$ (blockcomponents "block2") (<Entity name: 7ffff706a50> <Entity name: 7ffff706a00> <Entity name: 7ffff7069f0> <Entity name: 7ffff706a60> <Entity name: 7ffff706a70>) _$ (blockcomponents "block3") (<Entity name: 7ffff706ad0> <Entity name: 7ffff706a70> <Entity name: 7ffff706a60> <Entity name: 7ffff7069f0> <Entity name: 7ffff706a00> <Entity name: 7ffff706a50> <Entity name: 7ffff706ae0> <Entity name: 7ffff706af0>)1 point
-
In very simple terms: (defun c:test ( / ent sel ) (if (and (cdddr (setq sel (nentselp))) (setq ent (entmakex (entget (car sel)))) ) (progn (vla-transformby (vlax-ename->vla-object ent) (vlax-tmatrix (caddr sel))) (vla-delete (vlax-ename->vla-object (car sel))) (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acallviewports) ) ) (princ) ) (vl-load-com) (princ) You may also find this program useful for your task.1 point
-
This seemed like a fun challenge, so I thought I might participate... Here is my version: The attached program will prompt for a rectangular closed LWPolyline and a 'wire spacing' (the distance between the coils), and will generate a maximal filleted spiral centered within the selected LWPolyline. The program should perform successfully with all rectangular closed LWPolylines, at any rotation or orientation, and in all UCS & Views. For an arbitrary rectangle of any dimension, one cannot specify both the spacing between the coils and the offset from the rectangle boundary, since multiples of these values will not necessary equate to the rectangular dimensions. Hence, my program will prompt for the spacing between the coils and will center the spiral within the selected rectangular LWPolyline, maximising the number of spiral coils for the given spacing, with the division remainder equal to the offset from the boundary. If the spacing is a multiple of the dimensions of the boundary, the program will offset the spiral from the boundary by the given spacing to ensure that the coils do not touch the boundary edge. The code isn't pretty, but should hopefully perform correctly. Interesting challenge! HeatGridV1-0.lsp1 point