试试这个:-
别忘了根据您的要求更改颜色代码。。。。
- (DEFUN C:TEST (/ A B C)
- (VL-LOAD-COM)
- (WHILE
- (SETQ A (CAR (ENTSEL "\nSelect Line to Offset :")))
- (INITGET 1)
- (SETQ B (GETDIST "\nSpecify Offset Distance :"))
- (SETQ C (GETPOINT "\nSpecify Point on Side to Offset :"))
- (VLA-OFFSET
- (VLAX-ENAME->VLA-OBJECT A)
- (POINTSIDE A C)
- )
- (VLA-PUT-COLOR (VLAX-ENAME->VLA-OBJECT (ENTLAST)) [b][color=red]1[/color][/b]) [color=red][b] ;<- SPECIFY COLOR CODE HERE[/b][/color]
- )
- (PRINC)
- )
- (DEFUN POINTSIDE (OBJ PNT / P1 PA P2)
- (SETQ P1 (VLAX-CURVE-GETCLOSESTPOINTTO OBJ (TRANS PNT 1 0))
- PA (VLAX-CURVE-GETPARAMATPOINT OBJ P1)
- )
- (IF (EQUAL '(0.0 0.0 0.0)
- (VLAX-CURVE-GETSECONDDERIV OBJ PA)
- 1e-8
- )
- (SETQ P1 (VLAX-CURVE-GETPOINTATPARAM OBJ (FIX PA))
- P2 (VLAX-CURVE-GETPOINTATPARAM OBJ (1+ (FIX PA)))
- )
- (SETQ P2 (MAPCAR '+ P1 (VLAX-CURVE-GETFIRSTDERIV OBJ PA)))
- )
- (IF (MINUSP (SIN (- (ANGLE P1 PNT) (ANGLE P2 PNT))))
- (SETQ B (- B))
- (SETQ B (+ B))
- )
- )
|