nestly 发表于 2022-7-6 07:09:10

是的,我指的是阵列在2012年之前只能作为矩形和环形阵列使用,当时添加了路径阵列。

rkent 发表于 2022-7-6 07:14:33

多段线可能不是单一的直线长度,因此数组无法工作。测量应该是要走的路,使用积木。

termal007 发表于 2022-7-6 07:15:22

 
这是正确的!我接受

prodromosm 发表于 2022-7-6 07:19:19

我用Lisp程序来做这个。。。
(defun c:cmeasure(/*error*\u StartUndo \u EndUndo \u SelectIf \u IsCurveObject acdoc al bl d0 di en mx nm pt)(defun*error*(msg)(if acdoc(\u EndUndo acdoc))(或(wcmatch(strcase msg)“*BREAK,*CANCEL*,*EXIT*”)(princ(strcat“**”error:“msg”**”))(princ))(defun \u StartUndo(doc)(\u EndUndo doc)(vla StartUndoMark doc))(defun(doc)(如果(=8(对数和8(getvar'UNDOCTL))(vla EndUndoMark doc))(defun _SelectIf(msg pred func/sel)(setq pred(eval pred))(while(progn(setvar'ERRNO 0)(setq sel(car(func msg)))(cond(=7(getvar'ERRNO))(princ“\n丢失,再试一次。”)((eq'ENAME(type sel))(if(and pred(not(pred sel)))(princ“\n所选对象无效。”))))sel)(defun _IsCurveObject(entity/param)(和(not(vl-catch-all-error-p(setq param(vl catch all apply‘vlax curve getendparam(list entity)))param))(setq acdoc(vla get activedocument(vlax get acad object))nm(trans’(0.0.1。)1 0 t))(if(setq en(\u SelectIf“\n选择要测量的对象:”'isCurveObject entsel))(progn(initget 7“Block”)(setq di(getdist“\n指定段或[块]的长度):”)(if(eq“Block”di)(progn(while(progn(setq bl(getstring t)”\n输入要插入的块的名称:)(cond((not(snvalid bl))(princ“\n无效的块名。”)((not(tblsearch“BLOCK”bl))(princ(strcat“\n无法找到BLOCK\”bl“)))(initget“Yes No”)(setq al(not(eq“No”(getkword“\nAlign block with object?:”))(initget 7)(setq di(getdist“\n指定段长度:)))(setq mx(vlax curve getdistatparam en(vlax curve getendparam en))d0(-mx(*di(fix(/mx di)))2。)di))(_StartUndo acdoc)(而(和(

Tharwat 发表于 2022-7-6 07:23:26

 
你Lisp程序是从哪里来的?它有一个没有标题的结尾

prodromosm 发表于 2022-7-6 07:28:57

我不记得塔尔瓦。。。
页: 1 [2]
查看完整版本: 如何放置距离收藏夹p