teknomatika 发表于 2022-7-6 08:08:27

帮助修复例程

问候语。
我有一个简单的例程,可以在剖面中写入Z坐标。
它可以工作,但是如果我在一个小缩放的区域工作,它会扭曲三角形,或者不能确保删除相对于三角形上底的文本。如果进一步减小缩放,则甚至不会设计三角形。
感谢您对其优化的帮助。我的知识有限。解决这个困难还不够。。
 
 
 
;;
(defun c:LEVZ(/ factesc cotorig defy defyn p1 p2 p3 cotorigt x1 y1 yf z1 yfinal )
(setq factesc (getreal "INSERT SCALE FACTOR (HIGHT STANDARD 0.20): "))
(if (= factesc nil)
(setq factesc 1)
)
(setq cotorig (getpoint "SELECT POINT: "))
(setq defy (cdr cotorig))
(setq defyn(car defy))
(setq p1 (polar cotorig 0.785398 (* factesc 0.62)))
(setq p2 (polar p1 3.141593 (* factesc 0.88)))
(setq p3 (polar p2 -0.785398 (* factesc 0.62)))
(command "layer" "new" "Cotas_Nível" "color" "103" "Cotas_Nível" "")
(command "layer" "set" "Cotas_Nível" "")
(command "_Pline" "_non" p1 p2 P3 "C")
(setq cotorigt (polar p2 1.570796 (* factesc 0.05)))
(setq x1 (car cotorigt))
(setq y1 (cadr cotorigt))
(setq yf (+ y1 0.05))
(setq z1 (caddr cotorigt))
(setq yfinal (list x1 yf z1))
(command "text" yfinal (* factesc 0.20) 0 (rtos defyn 2 2))
(princ)
)
(prompt "\ntYPE: LEVZ")

Lee Mac 发表于 2022-7-6 08:27:30

我还没有看完整的代码,但我立即看到了这一点:
 
将其更改为:
 
(command "_.pline" "_non" p1 "_non" p2 "_non" p3 "_C")

teknomatika 发表于 2022-7-6 08:41:39

 
储罐,
经过升级、实验,它看起来很稳定。
在命令文本中还包括“_non”,似乎解决了到上基座的距离问题。
 
;;
(defun c:LEVZ(/ factesc cotorig defy defyn p1 p2 p3 cotorigt x1 y1 yf z1 yfinal )
(setq factesc (getreal "INSERT SCALE FACTOR (HIGHT STANDARD 0.20): "))
(if (= factesc nil)
(setq factesc 1)
)
(setq cotorig (getpoint "SELECT POINT: "))
(setq defy (cdr cotorig))
(setq defyn(car defy))
(setq p1 (polar cotorig 0.785398 (* factesc 0.6223)))
(setq p2 (polar p1 3.141593 (* factesc 0.8800)))
(setq p3 (polar p2 -0.785398 (* factesc 0.6223)))
(command "layer" "new" "Cotas_Nível" "color" "103" "Cotas_Nível" "")
(command "layer" "set" "Cotas_Nível" "")
(command "_.pline" "_non" p1 "_non" p2 "_non" p3 "_C")
(setq cotorigt (polar p2 1.570796 (* factesc 0.05)))
(setq x1 (car cotorigt))
(setq y1 (cadr cotorigt))
(setq yf (+ y1 0.05))
(setq z1 (caddr cotorigt))
(setq yfinal (list x1 yf z1))
(command "_.text" "_non" yfinal (* factesc 0.20) 0 (rtos defyn 2 2))
(princ)
)
(prompt "\ntYPE: LEVZ")
 
再一次谢谢你。

Lee Mac 发表于 2022-7-6 08:54:13

也许你可以从这个节目中得到一些启发:
 
http://lee-mac.com/elevationmarker.html

teknomatika 发表于 2022-7-6 08:57:51

 
李,
我已经知道并很好地使用了。它很棒。
就我的日常生活而言,它很糟糕,但它是我的“女儿”。因此,我想修复和理解问题的重要性。

BIGAL 发表于 2022-7-6 09:14:14

一个好习惯是停止像这样的问题,打开快照并在最后打开。
 
缩放因子可能是一个问题,我也经历过这一点。解决这个问题的方法是使用缩放中心和比例绘制对象,然后缩放之前,这是Autocad中的一个错误,在发现缩放问题之前,它花费了很长时间试图解出为什么程序会工作或不工作。
 
4
页: [1]
查看完整版本: 帮助修复例程