乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 5

[编程交流] 组合两个命令-expo

[复制链接]

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2022-7-5 15:57:55 | 显示全部楼层 |阅读模式
创建一个例程,当用户在fillet命令期间选择对象时,它首先将其分解,这有多困难?
 
 
我不能用直多段线和分解弧以半径圆角。如果两者都爆炸。我可以用半径圆角。
 
 
我希望这是关于。。。这将节省大量额外的爆炸!英雄联盟
 
再次感谢你。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 16:16:59 | 显示全部楼层
“during”命令是一个问题,您可以先拾取两个对象,然后“批圆角”它们(我希望我的解释正确)。
 
我试图编写一些解决方案,但失败了-至少最终得到了一些“方便”的子功能:
 
  1. ; _$ (_PickSegment "\nPick something: ") -> (<Entity name: 8998e85ce0> (297752.0 -203065.0 0.0))
  2. ; Returns the 'entsel' result from the picked Line/Arc or if Polyline, list of: (<PickedSegment [As Line Or Arc] Ename> <PickedPoint>)
  3. (defun _PickSegment ( msg / pick e typ newpick Exploded o r ) (setvar 'errno 0)
  4. (while (/= 52 (getvar 'errno)) (setq pick (entsel msg))
  5.    (cond
  6.      ( (= 7 (getvar 'errno)) (setvar 'errno 0) ) ( (not (setq e (car pick))) )
  7.      ( (wcmatch (setq typ (cdr (assoc 0 (entget e)))) "*POLYLINE")
  8.        (setq newpick ; We've just exploded the POLYLINE, now find the associated entity segment from the 'Exploded' list, by temporarily erasing any overlapping entities
  9.          (
  10.            (lambda ( p L / s tmp r dL )
  11.              (while (and (not s) (setq tmp (car (nentselp p))))
  12.                (or
  13.                  (and (setq r (cdr (assoc (cdr (assoc 5 (entget tmp))) L))) (setq s T))
  14.                  (and (setq dL (cons tmp dL)) (entdel tmp))
  15.                )
  16.              )
  17.              (if dL (mapcar 'entdel dL)) (if r (list r p))
  18.            )
  19.            (cadr pick) (setq Exploded (mapcar '(lambda (x) (cons (vlax-get x 'Handle) (vlax-vla-object->ename x))) (vlax-invoke (setq o (vlax-ename->vla-object e)) 'Explode)))
  20.          )
  21.        )
  22.        (mapcar 'entdel (mapcar 'cdr Exploded)) ; Erase every generated object from the 'Explode' method
  23.        (entdel (car newpick)) ; UnErase the segment entity
  24.        (setq r newpick) (setvar 'errno 52)
  25.      )
  26.      ( (member typ '("LINE" "ARC")) (setq r pick) (setvar 'errno 52) )
  27.    )
  28. )
  29. r
  30. ); defun _PickSegment

 
可能会帮助那些在这里尝试的人。。
顺便说一句,我认为有解决你的问题的方法(也许更仔细地搜索?)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:23:14 | 显示全部楼层
mstg007您需要发布一个图像或dwg,显示您试图做什么,您可能不需要爆炸。
回复

使用道具 举报

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2022-7-5 16:38:55 | 显示全部楼层
希望这会有所帮助。红线是一条“线”。如果我引爆一切。它起作用了。这就是为什么我想知道是否有一个常规的可能性,将与这些情况下工作。
165759tr8rbrhs3sjl3bi8.jpg
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:50:19 | 显示全部楼层
这显然与此相关:
https://www.theswamp.org/index.php?topic=51357.0
回复

使用道具 举报

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2022-7-5 17:04:43 | 显示全部楼层
你说得太对了。谢谢你的交叉帖子。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:08 , Processed in 1.219993 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表