尺寸标注所需的Lisp
大家好,我有非常基本的lisp知识,并创建了非常基本的lisp。
但现在我尝试了一个lisp,即当前比例中具有指定块的维度。块插入点也应插入到尺寸线的中点。
或
在创建了多个尺寸后,将在尺寸线的所有尺寸中点插入一个块。
我尽了最大努力,但还是搞不清楚。
谁能帮我弄一个Lisp程序的上面。所以我也可以知道是怎么做到的。
提前谢谢。 你能举个例子吗? 我想我知道他想要什么-只需在尺寸线中间添加一个块
我也不知道该怎么做。。。。。有兴趣看看有人提出了什么 嗨,塔瓦,
这是我要找的。谢谢你的帮助。
我试了一下,
-----------------------
(setvar“dimtad”2)
(命令“_dimlinear”pause pause“M”pause pause);需要暂停以供用户输入维度文本
(setq P(getvar“lastpoint”))
(命令“ddedit”“l”pause“”)
(命令“\u insert”“block1”“\u s”“1”P“0”)
(setvar“dimtad”1)
(普林斯)
但维度文本窗口似乎没有覆盖该值。
*-哪个是块,圆还是矩形?
*-这个街区叫什么名字?
*-是对齐尺寸还是线性尺寸? 哦,对不起。
椭圆就是块。名称是“气泡”,我主要使用线性尺寸,但有时也需要使用对齐或旋转尺寸。
非常感谢。 如果可能的话,上传一张清晰显示您对该程序需求的示例图。
至于对齐尺寸,如果所需的块将插入两条尺寸界线之间,则该块将与其他块不同,因为线性尺寸界线的长度可能不同。知道了? 这应该检索维度中第一个文本类型实体的信息。
然后可以计算插入点、比例和旋转角度。
(defun c:dim-ted (/ ss en ed dn td fe fd tl)
(while (not en)
(and (setq ss (ssget (list (cons 0 "DIMENSION"))))
(= (sslength ss) 1)
(setq en (ssname ss 0)
ed (entget en)
dn (cdr (assoc 2 ed))
td (tblsearch "BLOCK" dn)))
(setq fe (cdr (assoc -2 td)))
(while fe
(setq fd (entget fe))
(if (member (cdr (assoc 0 fd)) '("TEXT" "MTEXT"))
(setq tl (cons fd tl)))
(setq fe (entnext fe))))
(prin1 (car tl))
(prin1))
根据您的DIMSTYLE设置,说这很容易就会产生误导。
HTH-David
页:
[1]