Veryname 发表于 2022-7-6 15:15:16

从dtext到z位置

问候语,
 
我正在为我的期末项目设计一条道路,我刚刚收到一张高度图。问题是,高度是dtext的,我需要用文本中写的高度创建点。我会手动添加它们,但有大约30000条文本,所以这不是一个现实的选择。
 
所以我的问题是;有没有办法在dtexts的原点自动创建点,其中点的z值来自文本内容,x和y值来自文本的几何体?
 
一些额外信息:
-文本的起源在x和y方向上相距5个单位。
-我正在使用AutoCAD 2008。
 
谢谢。

eldon 发表于 2022-7-6 15:24:14

快速的答案是肯定的,这可以使用Lisp来完成。
 
缓慢的回答是,你必须引起能写这个Lisp程序的人的注意——可能会在论坛的那个部分发布一个帖子

Tiger 发表于 2022-7-6 15:26:24

Eldon是对的,至少我认为他是对的,你可能需要一个lisp来完成这件事-所以我把你的线程移到了论坛的lisp部分,希望你能在这里得到更快的帮助

Veryname 发表于 2022-7-6 15:36:37

谢谢你的回复。
 
如果有那么多工作我会使用我创建的宏,我不想让别人经历那么多麻烦。我花了三个小时来制作宏,每个文本需要2秒,但我只能让它运行一整晚,我只是希望有一些我不知道的秘密命令/功能来加快速度,以防将来我不得不再次这样做。
 
PS,如果有人想做,我不会反对

Lee Mac 发表于 2022-7-6 15:39:55

一个问题是,LISP应该不会太难,文本项是否只包含z值而不包含其他文本?还有,我们是只说数字文本,还是也说多行文字?
 
此外,我可以创建一个LISP,用户可以在其中手动选择文本(使用选择集)或者,如果所有高度都在同一层上,或者它们是图形中唯一的文本(或DTEXT),那么我可以设置LISP自动为您进行选择为了实现这一点,文本需要一些“定义”因素,因此可以创建一个过滤器列表i、 e.在自己的图层上,或唯一的DTEXT,或有自己的颜色等。

Lee Mac 发表于 2022-7-6 15:42:59

此外,您希望这些“点”位于哪一层我假设它们只是标准ACAD点。
 
如果我是正确的,你想用文本的基点来表示x,y,用文本的内容来表示z?
 
谢谢
 

Veryname 发表于 2022-7-6 15:50:31

回答您的问题:
[列表]
[*]是,文本仅包含高度值,例如:“129.30”
[*]它们都是dtext,没有MTEXT。
[*]文件仅包含文本,并且它们都是相同的层/颜色。图层为“49”,颜色为“12”,这是redish颜色。
[/列表]
[列表]
[*]点可以在任何层上,如果需要,我会移动它们。
[*]它们只是常规AutoCAD点。
[*]“要将文本的基点用于x、y,将文本的内容用于z?”
[/列表]
谢谢你的帮助

Lee Mac 发表于 2022-7-6 15:55:24

好的,试试这个:
 

(defun c:zht (/ varlist oldvars ss eLst bPt zVal nbPt ptLst)
(vl-load-com)
(setq varlist (list "CMDECHO" "OSMODE")
   oldvars (mapcar 'getvar varlist))
(mapcar 'setvar varlist (list 0 0))
(if (setq ss (ssget "X" '((0 . "TEXT")(8 . "49")(62 . "12"))))
   (progn
   (setq eLst (vl-remove-if 'listp
          (mapcar 'cadr (ssnamex ss))))
   (foreach e eLst
   (setq bPt (cdr (assoc 10 (entget e)))
         zVal (atof (cdr (assoc 1 (entget e))))
         nbPt (subst zVal (last bPt) bPt)
         ptLst (cons nbPt ptLst)))
   (foreach pt ptLst
   (command "_point" pt)))
   (princ "\n<!> No Text Found <!>"))
(mapcar 'setvar varlist oldvars)
(princ))

Veryname 发表于 2022-7-6 15:59:19

甜心,很有魅力
 
以下是我在谷歌上搜索的一些程序中加载的点:
 

 
非常感谢!!

Lee Mac 发表于 2022-7-6 16:09:01

没问题,VeryName,很高兴它对你有用
 
如果你还有任何问题,请告诉我
页: [1] 2
查看完整版本: 从dtext到z位置