Want2LispForeve 发表于 2022-7-5 15:09:31

修改和改进现有路线

你好
 
 
我目前正在使用一个函数,该函数对二维线进行尺寸标注,并生成文本以显示相关尺寸,我正在尝试确定是否可以在插入文本时为其指定特定位置。
目前,文本被手动放置在例程的末尾,但我希望它被放置在特定的偏移位置,即:距离直线0.50m,如下例。
 
我是一个完全的新手,当谈到Lisp程序的例程,并渴望学习,如果有人能告诉我正确的方向,这将是非常感谢。
这是我们目前正在使用的。。。
 
 
(defun c:d1-2002()
(command "osnap" "end")
(setq pt1 (getpoint "1st end:"))
(setvar "lastpoint" pt1)
(setq pt2 (getpoint "2nd end:"))
(command "osnap" "")
(setq dist (rtos (distance pt1 pt2) 2 2))
(setq ang (- 90.0 (/ (* (angle pt1 pt2) 180.0) pi)))
(setq pt1 (getpoint "mid point of text:"))
(setq b(* 3 (getvar "dimscale")))
(command "-layer" "m" "DISTANCE" "c" "3" "" "")
(command "text" "m" pt1 b ang dist)
(princ)
)

BIGAL 发表于 2022-7-5 15:26:07

Dimstyle是一种创建样式的方法,它关闭了所有端点,并设置了尺寸线,因此只以文本结束,然后处理偏移并将文本置于中间等
 
另一种方法是计算出与lisp相似的文本位置。
 

; simple line labeller
; by Alan H June 2018

(defun c:linelab ( / pt1 pt2 pt3 oldsnap rads oldang ang dist)
(setq oldsnap (getvar 'osmode))
(setq oldang (getvar 'angdir))
(setq rads (getvar 'aunits))
(setvar 'osmode 1)
(setq dimsc (* 3 (getvar "dimscale")))
(alert "Text will follow Pt1 -> pt2") ; delete line later
(setq pt1 (getpoint "pick end pt"))
(setq pt2 (getpoint "Pick other end"))
(setq ang (angle pt1 pt2))
(setq dist (distance pt1 pt2))
(setq pt3 (polar pt1 ang (/ dist 2.0)))
(setq pt3 (polar pt3 (+ ang (/ pi 2.0)) 3.5)) ; hard coded 3.5
(if (= (tblsearch "layer" "DISTANCE") nil)
(command "-layer" "m" "DISTANCE" "c" "3" "" "")
)
(setvar 'osmode 0) ; end
(setvar 'angdir 0) ; east
(setvar 'aunits 3) ; radians
(command "text" pt3 dimsc (- ang (/ pi 2.0)) (rtos dist 2 2))
; flip option here inside/outside press enter
(setvar 'osmode oldsnap)
(setvar 'angdir oldang)
(setvar 'aunits rads)
)
(c:linelab)

SLW210 发表于 2022-7-5 15:31:40

请阅读代码发布指南,并将您的代码包含在代码标签中。
Your Code Here=
Your Code Here

FranknBeans 发表于 2022-7-5 15:42:22

下面是一些快速编写的内容,您可以通过使用entmake for the text labels&cmdecho来进一步优化,以消除控制台垃圾邮件,但我将留给您使用
 
我喜欢BIGAL提到的简化dimstyle,如果线条发生变化,标签会自动更新

Want2LispForeve 发表于 2022-7-5 15:49:44

谢谢你的建议,如果有机会,我会查一查,然后告诉你我的进展。

Want2LispForeve 发表于 2022-7-5 15:55:20

当然,我将来一定会遵循这些指导原则。

Want2LispForeve 发表于 2022-7-5 16:07:27

谢谢@FranknBeans,现在有很多事情要处理!

Want2LispForeve 发表于 2022-7-5 16:12:24

再次感谢所有的建议,最终开始实施其中的一些建议,并最终采用了精简的维度风格。这个解决方案肯定更容易掌握,但我仍然对Auto-LISP方面感兴趣,并将努力继续与社区互动,以达到这一目的。
页: [1]
查看完整版本: 修改和改进现有路线