CafeJr 发表于 2022-7-6 02:45:22

获取长度并创建

亲爱的,
 
有人知道我如何得到一个弧或一个物体(不止一个)的长度,并在其之后构造一条线,所有长度在每个弧或物体之间的特定空间内分开。
 

 
谢谢

pBe 发表于 2022-7-6 02:50:53

仅限于圆弧和圆?或者包括多段线和椭圆?为了它的价值,让我们加入“台词”。

CafeJr 发表于 2022-7-6 02:54:21

Noop,它们的数量很大,所以通常是多段线或圆。。。有必要获取它,并用测量的长度更改一行上的长度(按每个长度,而不是总长度)。。。

pBe 发表于 2022-7-6 02:56:12

没有弧,只有普林斯?

(Defun c:demo ( / pt ent len )
(if (setq pt nil ss (ssget))
(repeat (setq i (sslength ss))
           (setq ent (ssname ss (Setq i (1- i)))
                 len (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent )))
(if (null pt)
        (progn (setq pt (getpoint "\nPick start point:"))
                (Setq dst (getdist pt "\nDistance between lines:")))
        (setq pt (polar pt 0.0 dst)))
(entmakex (list (cons 0 "LINE")
               (cons 10 pt)
               (cons 11 (polar pt (* pi 1.5) len))))
   )
)(princ)
)

CafeJr 发表于 2022-7-6 02:59:13

对不起,pBe。。。它有弧、普林斯和圆!!。。。

CafeJr 发表于 2022-7-6 03:02:48

好的,pBe。。。它工作得很好!!!。。。非常感谢。在“简单”的台词中,你帮了我很多!!!。。。我和一些朋友花了很多时间手动操作!!!。。。

pBe 发表于 2022-7-6 03:07:51

 
不客气,很高兴它对你有用。
 
很乐意帮忙
 
干杯

CafeJr 发表于 2022-7-6 03:10:51

尊敬的pBe:,
 
我在命令上遇到了一些问题,你能帮我查找附件以尝试解决问题,或者告诉我该怎么做吗!?。。。谢谢
PLs的长度。图纸

jdiala 发表于 2022-7-6 03:13:12

这个怎么样:
 
(defun C:test (/ ss e l i p d)
(setq ss (ssget "_:L" '((0 . "CIRCLE,ARC,LWPOLYLINE")))
   p(getpoint "\nPick a point")
   d(getdist p "\nDistance between lines ; ")
)
(repeat (setq i (sslength ss))
(setq e (vlax-ename->vla-object (ssname ss (setq i (1- i))))
       l (cond
         ((vlax-property-available-p e 'length) (vla-get-length e))
    ((vlax-property-available-p e 'circumference) (vla-get-circumference e))
    ((vlax-property-available-p e 'arclength) (vla-get-arclength e))
          )
)
(entmake
   (list
    '(0 . "LINE")
   (cons 10 p)
   (cons 11 (polar p (* pi 1.5) l))
)
)
(setq p (polar p 0 d))
)
(princ)
)

CafeJr 发表于 2022-7-6 03:18:16

努普。。。然而对象的长度与创建的线不同。。。
 
PLs 2的长度。图纸
页: [1] 2
查看完整版本: 获取长度并创建