satishrajdev 发表于 2022-7-6 00:26:41

非常感谢。

Tharwat 发表于 2022-7-6 00:31:25

 
没问题。。。

121madhu 发表于 2022-7-6 00:33:45

谢谢satish和tharwat
我的请求指定哪一侧偏移,并在按Esc键时继续此lisp。
 
另一种是线型

satishrajdev 发表于 2022-7-6 00:37:23

欢迎光临,
但我不明白你接下来说什么,你到底想做什么。。。。明确说明或举例说明

satishrajdev 发表于 2022-7-6 00:38:58

试试这个:-
(DEFUN C:TEST (/ A B C D)
(VL-LOAD-COM)
(WHILE (/= (SETQ A (getstring "\nSpecify Name of New Layer :")) "")
   (SETQ B (CAR (ENTSEL "\nSelect Line to Offset :")))
   (INITGET 1)
   (SETQ C (GETDIST "\nSpecify Offset Distance :"))
   (SETQ D (GETPOINT "\nSpecify Point on Side to Offset :"))
   (VLA-ADD (VLA-GET-LAYERS
          (VLA-GET-ACTIVEDOCUMENT (VLAX-GET-ACAD-OBJECT))
      )
      A
   )
   (VLA-OFFSET
   (VLAX-ENAME->VLA-OBJECT B)
   (POINTSIDE B D)
   )
   (VLA-PUT-LAYER (VLAX-ENAME->VLA-OBJECT (ENTLAST)) A)
)
(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 C (- C))
   (SETQ C (+ C))
)
)

121madhu 发表于 2022-7-6 00:42:00

是的,我看起来很完美
非常感谢萨蒂什。
 
我正在创建此线型并加载
 
示例:-当我偏移线时
层名称:-电信
所以我的线路类型在层也电信其可能与否

satishrajdev 发表于 2022-7-6 00:45:15

您是否创建了自己的线型。。。如果是,那么你把它保存在哪里。。。。

BIGAL 发表于 2022-7-6 00:49:05

只需要添加这一行
 
(VLA-PUT-LINETYPE (VLAX-ENAME->VLA-OBJECT (ENTLAST)) A)

121madhu 发表于 2022-7-6 00:50:57

 
是的,保存我的桌面名马。林
 
 
 
消息传来时出错
:; 错误:自动化错误。未找到密钥

satishrajdev 发表于 2022-7-6 00:55:46

您是否创建了*。lin文件用于每个线型或该ma中。lin文件只有所有线型可用???
 
 
这是我的密码吗????
页: 1 [2]
查看完整版本: 偏移线产生差异l