pBe 发表于 2022-7-6 08:12:57

我懂了。。。
 
代码已更新

Dakine 发表于 2022-7-6 08:17:23

pBe,
感谢您的修改,非常感谢您的帮助,最重要的不仅仅是艺术作品本身,而是为了帮助他人而早起的努力,这是令人钦佩的。
致以最诚挚的问候,

Dakine 发表于 2022-7-6 08:18:19

pBe,
它做得很好,首先,它在N方面做得向后。减去400.00而不是210.50,E。210.0也是一样,但我做了相应的编辑,它工作了。
只是想知道那是用LSP、Diesel或其他语言写的?你能告诉我哪里是有用的开始,或者可以找到某种资源来学习基础知识吗。回到过去,我记得宏非常整洁,带有括号和((命令:))重复,但您的宏非常简短,但功能强大。无论如何,这对我和任何感兴趣的人来说都是鼓舞人心的。
再次感谢,
和平

pBe 发表于 2022-7-6 08:22:10

 
哎呀。。我的错误
 
 
我们的会员网站LeeMac
我在那里开始AFRALisp
另一个JefferyPSanders

Dakine 发表于 2022-7-6 08:24:37

pBe,
谢谢你的信息,这是一个很好的开始,我很感兴趣。
直到下一次
同一个世界,同一个爱,同一个和平

Dakine 发表于 2022-7-6 08:29:51

pBe,
您是否可以修改Lisp,使其只执行与手动选取的文本相同的功能,这些文本在值(xxxxx.xxx)之前没有字母N,也没有字母E。只有文本,如12345.678表示图表中的坐标。
所以Lisp应该可以选择减法400.00,210.50和3.700,然后我们选择文本(xxxxx.xxx)。
仅供参考,北距始终以2xxxx开始。xxx,东距从3xxx开始。xxx。不知道这有没有帮助。
再次感谢你。
 
另外,我附上了图纸的PDF,该图纸在图表中是要编辑的坐标。对不起,我不能,超出限制

pBe 发表于 2022-7-6 08:31:12

制作另一个或合并“注释或图表”选项?
 
 
EL呢。价值观

Dakine 发表于 2022-7-6 08:36:09

pBe,
对不起,我忘了,海拔都是从35x开始的。xxx,需要减去3.700。
谢谢

pBe 发表于 2022-7-6 08:38:58

如果我能看看你的图表是什么样子的,那会有帮助的。
 
Anyhoo试试这个:
(defun c:SuBVal (/ ss i en prf v clr)
(if (not opt) (setq opt "A"))
(initget "A C")
(setq opt
(cond ( (getkword
       (strcat "\nChoose <" opt ">: ")
   )
   )
   ( opt )
)
)

(if (setq ss (ssget ":L" (list '(0 . "TEXT")
                               (cons 1 (if (eq opt "A") "E. #*,EL. #*,N. #*" "#*")))))
   (repeat (setq i (sslength ss))
            (setq en (ssname ss (setq i (1- i))))
            (if (and(setq prf (substr (setq str (cdr (assoc 1 (entget en)))) 1 3))
      (setq v(cond ((eq prf "E. ")400.00 )
                     ((eq prf "N. ")210.50)
                     ((eq prf "EL.") (setq str (substr str 2)
                                                            prf (strcat prf " ")) 3.70 )
                                    ((wcmatch prf "35*")3.70 )
                                     ((wcmatch prf "3*")400.00 )
                                    ((wcmatch prf "2*")210.50 )
                                     )

                           )
                      )
                (progn
                      (vla-put-textstring (setq en (vlax-ename->vla-object en))
                     (if (eq opt "A")                           
(strcat prf (rtos (- (distof (substr str 3)2) v) 2 3))
                        (rtos (- (distof str 2) v) 2 3)
                           )
                        )   
                      (vla-put-color en 1))
                )
         )
   )
(princ)
   )

Dakine 发表于 2022-7-6 08:40:40

pBe,
希望图表上有这个。以前无法加载它。
谢谢
074-2300-110-270-010 03.图纸
页: 1 [2]
查看完整版本: 使用全局编辑文本字符串