乐筑天下

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

[编程交流] 获取长度并创建

[复制链接]

27

主题

182

帖子

163

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2022-7-6 02:45:22 | 显示全部楼层 |阅读模式
亲爱的,
 
有人知道我如何得到一个弧或一个物体(不止一个)的长度,并在其之后构造一条线,所有长度在每个弧或物体之间的特定空间内分开。
 
034530l5pdp1sh1pehp59s.jpg
 
谢谢
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 02:50:53 | 显示全部楼层
仅限于圆弧和圆?或者包括多段线和椭圆?为了它的价值,让我们加入“台词”。
回复

使用道具 举报

27

主题

182

帖子

163

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2022-7-6 02:54:21 | 显示全部楼层
Noop,它们的数量很大,所以通常是多段线或圆。。。有必要获取它,并用测量的长度更改一行上的长度(按每个长度,而不是总长度)。。。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 02:56:12 | 显示全部楼层
没有弧,只有普林斯?
  1. (Defun c:demo ( / pt ent len )
  2. (if (setq pt nil ss (ssget))
  3. (repeat (setq i (sslength ss))
  4.            (setq ent (ssname ss (Setq i (1- i)))
  5.                  len (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent )))
  6. (if (null pt)
  7.           (progn (setq pt (getpoint "\nPick start point:"))
  8.                 (Setq dst (getdist pt "\nDistance between lines:")))
  9.         (setq pt (polar pt 0.0 dst)))
  10. (entmakex (list (cons 0 "LINE")
  11.                  (cons 10 pt)
  12.                  (cons 11 (polar pt (* pi 1.5) len))))
  13.    )
  14. )(princ)
  15. )
回复

使用道具 举报

27

主题

182

帖子

163

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2022-7-6 02:59:13 | 显示全部楼层
对不起,pBe。。。它有弧、普林斯和圆!!。。。
回复

使用道具 举报

27

主题

182

帖子

163

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2022-7-6 03:02:48 | 显示全部楼层
好的,pBe。。。它工作得很好!!!。。。非常感谢。在“简单”的台词中,你帮了我很多!!!。。。我和一些朋友花了很多时间手动操作!!!。。。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 03:07:51 | 显示全部楼层
 
不客气,很高兴它对你有用。
 
很乐意帮忙
 
干杯
回复

使用道具 举报

27

主题

182

帖子

163

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2022-7-6 03:10:51 | 显示全部楼层
尊敬的pBe:,
 
我在命令上遇到了一些问题,你能帮我查找附件以尝试解决问题,或者告诉我该怎么做吗!?。。。谢谢
PLs的长度。图纸
回复

使用道具 举报

0

主题

99

帖子

99

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 03:13:12 | 显示全部楼层
这个怎么样:
 
  1. (defun C:test (/ ss e l i p d)
  2. (setq ss (ssget "_:L" '((0 . "CIRCLE,ARC,LWPOLYLINE")))
  3.      p  (getpoint "\nPick a point")
  4.      d  (getdist p "\nDistance between lines ; ")
  5. )
  6. (repeat (setq i (sslength ss))
  7. (setq e (vlax-ename->vla-object (ssname ss (setq i (1- i))))
  8.        l (cond
  9.            ((vlax-property-available-p e 'length) (vla-get-length e))
  10.     ((vlax-property-available-p e 'circumference) (vla-get-circumference e))
  11.     ((vlax-property-available-p e 'arclength) (vla-get-arclength e))
  12.           )
  13. )
  14. (entmake
  15.    (list
  16.     '(0 . "LINE")
  17.      (cons 10 p)
  18.      (cons 11 (polar p (* pi 1.5) l))
  19.   )  
  20. )
  21. (setq p (polar p 0 d))
  22. )
  23. (princ)
  24. )
回复

使用道具 举报

27

主题

182

帖子

163

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2022-7-6 03:18:16 | 显示全部楼层
努普。。。然而对象的长度与创建的线不同。。。
 
PLs 2的长度。图纸
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:02 , Processed in 1.255573 second(s), 75 queries .

© 2020-2025 乐筑天下

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