Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/20/2022 in all areas

  1. Hi Guys, I Wanted To Mass Convert Some DWGs To DXFs, So, I looked Around and found some commercial softwares and also some lisp routine, but they didn't workout as i expected so i made a software (to interpret scripts). it works fine in converion of dxfs, so i thought this software might be usefull to some who want to mass convert dxfs, here is the software: AutoCAD Script Writer.zip This Software doesn't Require Installation, (It Runs Directly) ::REQUIREMENTS:: 1. AutoCAD which supports LISP routines (eG; full versions of AutoCAD 2010, But not AutoCAD LT Versions) ::Usage:: 1. In The "Location Of Files To Be Processed" Box, Paste The Location Where U have ur dwg files. (Default value is "D:\SomeFolder"). Dont Give A Root Location Such As "D:\" or "C:\" etc; 2. In The "Command" Box, The Default Code Is Written For DXF Conversion, U can modify and write ur own Macros here, (If U know Acad Scripting Language) 3. Pressing the "Create Script" Button will create a "Script.scr" file at the location of the dwg files 4. Now Open AutoCAD, Now Press [Control]+[N] In AutoCAD, A New Window will be opened 5. Now All U Have To Do Is Drag The "Script.scr", into the AutoCAD's Canvas (which is a blank black window usually) 6. And thats it, autocad will start converting the DWGs to DXFs Thanks To Lee-Mac, dbroada & Bill-Tillman for giving me the answer and idea to my previous post,
    1 point
  2. You have answered your own question " need far less points on smaller arcs then I do larger ones. " just introduce a Cond that has steps for the radius various the length as per you have indicated in your image. Work out H. (cond ((if (< h 3.0)(setq deg x))) ((if (< h 4.0)(setq deg y))) ((if (< h 6.0)(setq deg z))) ((if (=> h 6.01)(setq deg A))) )>
    1 point
  3. Try this .. solved many years ago. https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/meet-joe-burke-s-tracepline-function/td-p/1592287
    1 point
  4. So the 100 is saying divide up the polyline into 100 segments and generate points from that. poly 1 has 5 points and wouldn't select anything between the blue and white poly 2 has 50 points (selectinside e 50) If you are using this on polylines that have a large number of verities then their will be gaps. don't get me wrong iv used that form lee mac for a long time and didn't under stand what it was doing also. But when I finally had time to study what it was doing I came up with this. BAD CODE - use RonjonP link What my lisp does is makes a copy of the polyline and explodes it into its base entity's arcs and lines. for the arcs its dividing them by x and generates points. for lines it calculates the endpoints. adds all those points into a list for ssget "WP" So the points on the shape would look like this. Only adding 5 points if x=5 With larger verities polylines it only add points to where the arc's are. So you don't have to keep guessing the number for the function or generating more points for smaller polyines. I would like to make x dynamic so it divides up larger arc more than smaller ones.
    1 point
  5. Try the following: ;; Ungroup Multiple - Lee Mac (defun c:ungroupm ( / idx grp sel ) (if (setq sel (ssget)) (repeat (setq idx (sslength sel)) (if (= "GROUP" (cdr (assoc 0 (entget (setq grp (cdr (assoc 330 (entget (ssname sel (setq idx (1- idx))))))))))) (entdel grp) ) ) ) (princ) )
    1 point
×
×
  • Create New...