Leaderboard
Popular Content
Showing content with the highest reputation on 09/07/2026 in all areas
-
In ARX you would use these for general cleanup AcDbDatabase::eraseEmptyObjects(kAllEmptyObj) AcDbDatabase::purge (AcDbObjectIdArray&) # may require multiple passes AcDbDatabase::purge (AcDbObjectIdGraph&) # single pass I made a python sample here. https://www.theswamp.org/index.php?topic=60192 For something like overkill, AcGeCurveCurveInt3d is the go-to class. As it gives overlap information Here’s another python sample for finding overlapping polylines https://www.theswamp.org/index.php?topic=59828 Proxies, you can erase, or call swapid on a non-owned object. AutoCAD won’t save orphaned objects Of course with these types of methods, you must let the end user confirm the operation, as BigAl mentions, they can be destructive2 points
-
1 point
-
1 point
-
Create several splines on the XY plane then move each one in Z so that they have increasing Z values from one spline to the next. In this example the z values for the splines are 0.0, 2, 4, and 6. Use LOFT to create a surface from the splines (shown in red). From the Properties panel, change the U isoline property to a larger value (e.g.,12) and the V isoline value to 0. Select the surface and move the grips to localy adjust the spacing between isolines to meet your requirements. Note, the green arrows show grips that have been moved to increase spacing between adjacent isolines. Unfortunatly, if you need individual polylines or splines on the XY plane you will need to use SECTION to create them individually. For example,section the surface paralle to the XY plane through points at (0,0,0.5), (0,0,1), (0,0,1.5), etc.1 point
-
I have always dimensioned in paper space. Never have experienced any problems. No need to assign multiple scale factors.1 point
-
Just a comment if a dwg has been made by CIV3D the purge command will not remove objects even un used, you need to run PURGESTYLESANDSETTINGS it can make a big difference. After run normal Purge. Also in CIV3D surfaces are inside a dwg. But you may need CIV3D to run purges&s or remove surfaces. Similar for other CAD 3rd party add ons can have lots of proxy objects, you can use "ZOMBIE KILLER" to remove proxy objects, say in Bricscad the opening screen will show a message dwg has proxy objects.1 point
-
1 point
-
For Excel direct the simplest is open a new Excel. You can open an existing excel by file name or even get current Excel Worksheet. You can then get say last row that contains something so that when you add more answers you know the row to start at. I would just make a simple lisp that has all the required defuns in it. Open a new Excel. Then write the row answers. with say a 1 row gap. As version 1. Yes version 2 Open new, use existing, open an existing file. The other defuns that could be added are stuff like color cell text and backgrounds. I called this little lisp "Alan open-read-write excel.lsp" ; Excel function using lisp ; By AlanH and inspiration from others ; Gilles ; JefferyPSanders.com ; Lee-mac ; MunteanStefan ; danielrodriguez ; code by the great FIXO no longer with us (defun Openexcel ( / ) (princ "\nOpening Excel...") ;; Try to get or create Excel instance (setq myxl (vl-catch-all-apply 'vlax-get-or-create-object '("Excel.Application"))) (if (vl-catch-all-error-p myxl) (progn (prompt "\nError: Could not start Excel.") (exit) ) ) (if (= (vlax-get-property (vlax-get-property myXL 'WorkBooks) 'count) 0) (vlax-invoke-method (vlax-get-property myXL 'WorkBooks) 'Add) ) (vla-put-visible myXL :vlax-true) (vlax-put-property myxl 'ScreenUpdating :vlax-true) (vlax-put-property myXL 'DisplayAlerts :vlax-true) (princ) ) ;; Thanks to fixo ;; ;; = Set Excel cell text = ;; (defun xlsetcelltext ( row column text) (setq cells (vlax-get-property (vlax-get-property myxl "ActiveSheet") "Cells")) (vl-catch-all-apply 'vlax-put-property (list cells 'Item row column (vlax-make-variant (vl-princ-to-string text) vlax-vbstring))) ) ;; Thanks to fixo ;; get value of a cell (defun getcell2 (row column / ) (setq cells (vlax-get-property (vlax-get-property myxl "ActiveSheet") "Cells")) (setq cell (vlax-get (vlax-variant-value (vlax-get-property cells "Item" row column)) 'value)) ) A sample sequence. You could put all the code in your program. Maybe later will post something with a Excel option. (if (not openexcel)(load "alan open-read-write.lsp")) (openexcel) (xlsetcelltext 4 4 "Alan") (getcell2 4 4) @SLW210 Happy to do the CSV, Excel or Libreoffice code. Post updated code and dcl etc.1 point
-
You could also add these 2, purgezerolangth and purgezerotxt, they will remove some entities but not generally make a massive change to size. (defun PurgeZeroLengths ( / MySS Fuzz acount DelSS MyEnt EndA EndB) ;; for within blocks (setq MySS (ssget (list (cons 0 "LINE,SPLINE,LWPOLYLINE,POLYLINE,ARC,CIRCLE,ELLIPSE")))) (setq Fuzz 0.0001) ; Fuzz factor to delete very short entities (setq acount 0) (setq DelSS (ssadd)) (while (< acount (sslength MySS)) (setq MyEnt (ssname MySS acount)) (if (equal (vlax-curve-getDistAtParam MyEnt (vlax-curve-getEndParam MyEnt)) 0) (progn (setq DelSS (ssadd MyEnt DelSS)) ) ) ; end if ;;If less then a length (if (< (vlax-curve-getDistAtParam MyEnt (vlax-curve-getEndParam MyEnt)) Fuzz) (progn (setq DelSS (ssadd MyEnt DelSS)) ) ) ; end if (setq acount (+ acount 1)) ) ; end while (princ "\nDeleting ")(princ (sslength DelSS))(princ " lines") (command "erase" DelSS "") (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:PurgeZeroTexts ( / MySS acount DelSS MyEnt MyText) (setq MySS (ssget (list (cons 0 "*TEXT")(cons 1 "")))) (setq acount 0) (setq DelSS (ssadd)) (if MySS (progn (while (< acount (sslength MySS)) (setq MyEnt (ssname MySS acount)) (setq MyText (cdr (assoc 1 (entget MyEnt)))) (if (equal MyText "") (progn (setq DelSS (ssadd MyEnt DelSS)) ) ) ; end if (setq acount (+ acount 1)) ) ; end while (princ "\nDeleting ")(princ (sslength DelSS))(princ " lines") (command "erase" DelSS "") ) ; end progn (progn (princ "No zero content texts found") ) ) ; end if (princ) )1 point
-
1 point
-
I forgot all about this thread, meant to get back to it. My apologies. Elmer FEM – open source multiphysical simulation software CALCULIX: A Three-Dimensional Structural Finite Elemente Program use with PrePoMax Structural Analysis & Steel Design Software | AutoCalcs Free Online 3D Structural Finite Element Analysis Software There are some more open-source and free programs out there. These have a free trial. Finite Element Analysis (FEA) Software | Autodesk Download Inventor | Inventor Free Trial | Autodesk FEA Simulation Basics | Autodesk Inventor 20231 point
