goldy2000 发表于 2022-7-6 14:25:01

将Z坐标导出为新文本

大家好,这是互联网上最好的CAD论坛:D。。。我有一个问题,有没有可能制作一个lisp,可以将Z坐标的值导出到一个新层(称为VISINA_TEXT)??我有3D点,我需要导出(分配)文本文件中Z坐标的值(但在本例中只有逗号后的两位数:99,37),该文件的位置与示例文件中的位置相同??

goldy2000 发表于 2022-7-6 14:40:54

有人知道解决方案吗??或者可能有一些类似的Lisp程序??

Lee Mac 发表于 2022-7-6 14:51:41

我不太理解你的要求-
 
你提到了将文本导出到一个新层,但你谈到了导出到一个文本文件。。。你想要哪一个?

goldy2000 发表于 2022-7-6 14:56:24

 
嗨,伙计!!我的意思是指定(找不到合适的词)包含Z坐标的文本。
示例:我有一个坐标为(X,Y,Z-->65,24,22.33)的三维点,因此我需要提取Z坐标(在本例中为22.33)以写入文本22.33(但在某些新层中),问题是以文本形式“读取”Z坐标和“写入”。。。这有帮助吗??

Lee Mac 发表于 2022-7-6 15:09:58

试试这个:
 

(defun c:ztxt (/ ss)
(vl-load-com)
(if (setq ss (ssget '((0 . "POINT"))))
   (mapcar
   (function
       (lambda (x)
         (Make_Text x
         (rtos (caddr x) 2 2))))
   (mapcar
       (function
         (lambda (x)
         (cdr (assoc 10 (entget x)))))
       (vl-remove-if 'listp
         (mapcar 'cadr (ssnamex ss))))))
(princ))

(defun Make_Text(pt val)
(entmake
   (list
   (cons 0 "TEXT")
   (cons 8 "VISINA_TEXT")
   (cons 10 pt)
   (cons 40 (getvar "TEXTSIZE"))
   (cons 1 val)
   (cons 50 0.0)
   (cons 7 (getvar "TEXTSTYLE"))
   (cons 71 0)
   (cons 72 0)
   (cons 73 0)
   (cons 11 pt))))

goldy2000 发表于 2022-7-6 15:22:16

你真的很快震惊:我试过了,效果很好!!!你们解决了我在论坛上问的很多问题,谢谢你们,你们抽出了我这么多时间坐在显示器前:哈哈!!!!!!!!!!

Lee Mac 发表于 2022-7-6 15:33:07

 
没问题,伙计-很乐意帮忙。
页: [1]
查看完整版本: 将Z坐标导出为新文本