pradeep005 发表于 2022-7-5 18:12:02

尺寸标注所需的Lisp

大家好,
 
我有非常基本的lisp知识,并创建了非常基本的lisp。
 
但现在我尝试了一个lisp,即当前比例中具有指定块的维度。块插入点也应插入到尺寸线的中点。
 

 
在创建了多个尺寸后,将在尺寸线的所有尺寸中点插入一个块。
 
我尽了最大努力,但还是搞不清楚。
谁能帮我弄一个Lisp程序的上面。所以我也可以知道是怎么做到的。
 
提前谢谢。

Tharwat 发表于 2022-7-5 18:27:47

你能举个例子吗?

Andrew1979 发表于 2022-7-5 18:36:26

我想我知道他想要什么-只需在尺寸线中间添加一个块
 
我也不知道该怎么做。。。。。有兴趣看看有人提出了什么

pradeep005 发表于 2022-7-5 18:41:20

嗨,塔瓦,
 
这是我要找的。谢谢你的帮助。
 
我试了一下,
-----------------------
(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)
(普林斯)
 
但维度文本窗口似乎没有覆盖该值。

Tharwat 发表于 2022-7-5 18:52:56

*-哪个是块,圆还是矩形?
*-这个街区叫什么名字?
*-是对齐尺寸还是线性尺寸?

pradeep005 发表于 2022-7-5 19:00:11

哦,对不起。
 
椭圆就是块。名称是“气泡”,我主要使用线性尺寸,但有时也需要使用对齐或旋转尺寸。
 
非常感谢。

Tharwat 发表于 2022-7-5 19:09:39

如果可能的话,上传一张清晰显示您对该程序需求的示例图。
 
至于对齐尺寸,如果所需的块将插入两条尺寸界线之间,则该块将与其他块不同,因为线性尺寸界线的长度可能不同。知道了?

David Bethel 发表于 2022-7-5 19:14:26

这应该检索维度中第一个文本类型实体的信息。
 
然后可以计算插入点、比例和旋转角度。
 

(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]
查看完整版本: 尺寸标注所需的Lisp