Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/31/2025 in all areas

  1. Yes I briefly forgot that LWPOLYLINES don't have a Z coordinate and instead use group 38 to define their elevation. Therefore @shokoufeh: the code you added to set the Z for LWPOLYLINES is unnecessary
    1 point
  2. Sorry: The problem I referred to will never exist in a LWPOLYLINE: Forget what I said, if you managed to read the previous message
    1 point
  3. There was a thread a few days ago about speeding up a LISP to do the same, have look at that for ideas. I think the thread got as far as arcs are tricky to do with LISPs. You could use the flatten command for small drawings. This snippet will filter a selection set to lines or LWPolylines to anything not 0 Z (setq MySS (ssget (list (cons 0 "*TEXT,INSERT,LINE,LWPOLYLINE") '(-4 . "<OR") '(-4 . "*,*,<>") (list 10 0.0 0.0 0.0) '(-4 . "*,*,<>") (list 11 0.0 0.0 0.0) '(-4 . "<>") (cons 38 0) '(-4 . "OR>") )) ; end list, end ssget ) Can be added to the other solutions herein the case that your drawing has a lot of lines / polylines / blocks it speeds it up a bit Link to other thread:
    1 point
  4. Try again (defun c:todoA0 (/ cj e le n to p1 p2) (IF (setq cj (ssget "x" '((0 . "TEXT,MTEXT,INSERT,LINE,LWP*")))) (while (setq e (ssname cj (setq n (if n (1+ n) 0)))) (setq le (entget e) to (cdr (assoc 0 le)) p1 (assoc 10 le) ) (cond ((= to "LINE") (setq p2 (assoc 11 le)) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) (entmod (subst (cons 11 (list (cadr p2) (caddr p2) 0.0)) p2 (entget e))) ) ((= to "LWPOLYLINE") (entmod (subst (cons 38 0.0) (assoc 38 le) le)) ) ((member to '("TEXT" "MTEXT" "INSERT")) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) ) ) ) ) (princ) )
    1 point
  5. Try (defun c:todoA0 (/ cj e le n to p1 p2) (IF (setq cj (ssget "x" '((0 . "TEXT,MTEXT,INSERT,LINE,LWP*")))) (while (setq e (ssname cj (setq n (if n (1+ n) 0)))) (setq le (entget e) to (cdr (assoc 0 le)) p1 (assoc 10 le) ) (cond ((= to "LINE") (setq p2 (assoc 11 le)) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) (entmod (subst (cons 11 (list (cadr p2) (caddr p2) 0.0)) p2 le)) ) ((= to "LWPOLYLINE") (entmod (subst (cons 38 0.0) (assoc 38 le) le)) ) ((member to '("TEXT" "MTEXT" "INSERT")) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) ) ) ) ) (princ) )
    1 point
×
×
  • Create New...