本帖最后由 caocaosasd 于 2021-6-14 20:01 编辑
大佬可否再帮忙看一下……
我想让新画的三线达到这种效果,自己改了一下发现并不能正常运作,因为确实没有看明白代码里的一些内容,比如'(2 97) '(2 32)这种,还有grread T 8 的返回值是啥也没明白……
- ;;;
- (defun C:cxz1 (/ code d loop ss)
- (setq OLD_CMDECHO (getvar "CMDECHO"))
- (setq CL (getvar "clayer"))
- (setq plwidth (getvar "PLINEWID"))
- (setvar "CMDECHO" 0)
- (setvar "EDGEMODE" 1)
- (setvar "PLINEWID" 30)
- (command "-layer" "m" "fjgj" "C" "1" "" "")
- (setq L1 (getpoint))
- (setq L2 (getpoint L1))
- (setq KU (angle L1 L2))
- (setq PT1 (polar L1 (+ KU (* 0.5 pi)) 75))
- (setq PT2 (polar L1 (+ KU (* 1.5 pi)) 75))
- (setq PT3 (polar L2 (+ KU (* 0.5 pi)) 75))
- (setq PT4 (polar L2 (+ KU (* 1.5 pi)) 75))
- (command "_.Pline" "non" L1 "non" L2 "")
- (setq ZX (entlast))
- (command "_.Pline" "non" PT1 "non" PT3 "")
- (setq ENT13 (entlast))
- (command "_.Pline" "non" PT2 "non" PT4 "")
- (setq ENT24 (entlast))
- (setq loop T
- D 50
- )
- (prompt "\n 偏移(A)/退出(空格)]:")
- (while loop
- (setq code (grread T 8))
- (cond
- ((equal code '(2 97))
- (command "move"
- ZX
- ENT13
- ENT24
- ""
- "non"
- '(0 0)
- "non"
- (list (setq D (* D -1)) 0)
- )
- )
- ((equal code '(2 32))
- (setq loop nil)
- )
- )
- )
- (setvar "clayer" CL)
- (setvar "CMDECHO" OLD_CMDECHO)
- (setvar "PLINEWID" plwidth)
- (princ)
- )
- ;;;
|