MarcoW 发表于 2022-7-6 12:52:14

Why don't this lisp work

I found this nice routine to edit my 1 - line piping...
It works for as long as we draw lines, not polylines, too bad.
Why doesn't it work with polylines?
 
I get the message:
 

Zero length line created at (13097.1724, 1164.9590, 0.0000)No changeable object selected
 
So I figured it has to do with the object type.
 

; Chamfers first line to second line and leaves second line unchanged.; In other words, does not trim second line to chamfer.;(DEFUN C:CHAMFER2 (/ A B AN BN AE BE AN1         AN2 TN1 TN2 TN3 NS RS R C) (SETVAR "CMDECHO" 0)(SETQ B (ENTSEL "LINE TO CHAMFER: ") BN (OSNAP (CADR B) "NEAR") BE (OSNAP (CADR B) "END") A (ENTSEL "UNCHANGING LINE: ") AN (OSNAP (CADR A) "NEAR") AE (OSNAP (CADR A) "END") NS (INTERS AN AE BN BE NIL) RS (STRCAT "CHAMFER : ") R (GETREAL RS))(IF R (SETVAR "CHAMFERA" R) (SETQ R (GETVAR "CHAMFERA")))(SETQ AN1 (ANGLE NS AN)      AN2 (ANGLE NS BN)       C (- AN2 AN1))(IF (> C PI)    (SETQ C (- C (* 2.0 PI))))(IF (< C (- PI))   (SETQ C (+ C (* 2.0 PI))))(SETQ TN3 (ABS (/ (* R (COS    (/ C 2.0 ))) (SIN (/ C 2.0)))) TN1 (POLAR NS AN1 TN3) TN2 (POLAR NS AN2 TN3))(IF (MINUSP C)   (COMMAND "LINE" TN1 TN2 "")   (COMMAND "LINE" TN2 TN1 "")) (COMMAND "CHANGE" (CAR B) "" TN2) (SETVAR "CMDECHO" 1))
 
For the chamfer command itself works with plines.
Only a hint would be okay.
页: [1]
查看完整版本: Why don't this lisp work