Begde 发表于 2022-7-6 07:02:10

aut中的地板下加热回路

尊敬的各位:,
我很高兴来到这里,因为你们是伟大的支持者。然而,在我写的这个程序中,我寻求你们的建议,以绘制地板下供暖回路。问题是,它只适用于基本坐标,当更改点的位置时,会弹出一个杂乱的图形!
我试图用相对坐标绘制,但失败了,所以。。任何建议。
附上dwg文件以说明程序和
该计划是:
 
 

(defun getinfo ()
(defun os_off () (setvar "osmode" (logior 16384 (getvar "osmode"))))
(defun os_on () (setvar "osmode" (logand (~ 16384) (getvar "osmode"))))
(defun undo_group () (command "undo" "group"))
(defun undo_end () (command "undo" "end"))
(undo_group)
(os_on)
(setq p01 (getpoint "/ n Pick upper right corner:"))
(setq p03 (getpoint "/ n Pick opposit corner:"))
(setq s (getreal "/n Enter traverse<100> mm:"))
(setq siz (mapcar '- p01 p03))
(setq p04 (list (car p03) (cadr p01)))
(setq p02 (list (car p01) (cadr p03)))
)
(defun procinfo()
   (setq xm (car siz) ym (cadr siz))
(setq p1 (list (- xm s) (- ym s)))
(setq px (fix (/ xm s)))
(setq py (fix (/ ym s)))
(setq p2 (list (- (car p02) s) (- s (cadr p03))))
(setq p3 (list (- s (car p04)) (- s (cadr p03))))
(setq p4 (list (- s (car p04)) (- (cadr p04) S)))
(setq p5 (list (- (car p01) (* 3 s)) (- (cadr p04) S)))
(setq p6 (list (- (car p02) (* 3 s)) (- (* 3 s) (cadr p03))))
(setq p7 (list (- (* s 3) (car p04)) (- (* 3 s) (cadr p03))))
(setq p8 (list (- (* 3 s) (car p04)) (- (cadr p04) (* 3 S))))
(setq    p9 (list (- xm (* 5 s)) (- ym (* 3 s))))
(setq    p10 (list (- (car p02) (* 5 s)) (- (* 5 s) (cadr p03))))
(setq p11 (list (- (* 5 s) (car p03)) (- (* 5 s) (cadr p03))))
(setq p12 (list (- (* 5 s) (car p04)) (- (cadr p04) (* 5 S))))
(setq p13 (list (- xm (* 7 s)) (- ym (* 5 s))))
(setq p14 (list (-(car p01) (* s 7)) (- (* 7 s) (cadr p02))))
(setq p15 (list (- (* 7 s) (car p04)) (- (* 7 s) (cadr p03))))
(setq p16 (list (- (* s 7) (car p04)) (- (cadr p04) (* 7 S))))
(setq    p17 (list (- xm (* 9 s)) (- ym (* 7 s))))
(setq p18 (list (- (car p02) (* 9 s)) (- (* 9 s) (cadr p03))))
(setq p19 (list (- (* 9 s) (car p04)) (- (* 9 s) (cadr p03))))
(setq p20 (list (- (* 9 s) (car p04)) (- (cadr p04) (* 9 S))))
(setq P21 (list (- xm (* 11 s)) (- ym (* 9 s))))
(setq p22 (list (- (car p02) (* 11 s)) (- (* 11 s) (cadr p03))))
(setq P23 (list (- (* 12 s) (car p04)) (- (* 11 s) (cadr p03))))
(setq P24 (list (- (* s 12) (car p04)) (- (cadr p04) (* 10 S))))
(setq P25 (list (- (* s 10) (car p04)) (- (cadr p04) (* 10 S))))
(setq p26 (list (- (* s 10) (car p04)) (- (cadr p04) (* 20 S))))
(setq p27 (list (- (car p02) (* s 10)) (- (cadr p04) (* 20 S))))
(setq p28 (list (- (car p02) (* s 10)) (- (cadr p04) (* 8 S))))
(setq p29 (list (- (* s   (car p03)) (- (cadr p04) (* 8 S))))
(setq p30 (list (- (* s 8 )(car p03)) (- (* 8 S) (cadr p03))))
(setq p31 (list (- (car p02) (* 8 s ) (- (* 8 S) (cadr p03))))
(setq p32 (list (- (car p02) (*8s ) (- (cadr p01) (* 6 S))))
(setq p33 (list (- (* s 6) (car p04)) (- (cadr p01) (* 6 S))))
(setq p34 (list (- (* s 6) (car p04)) (- (* 6 S) (cadr p03))))
(setq p35 (list (- (car p02) (* s 6)) (- (* 6 S) (cadr p03))))
(setq p36 (list (- (car p02) (* s 6)) (- (cadr p01) (* 4 S))))
(setq p37 (list (- (* s 4) (car p04)) (- (cadr p01) (* 4 S))))
(setq p38 (list (- (* s 4) (car p03)) (- (* 4 S) (cadr p03))))
(setq p39 (list (- (car p02) (* s 4)) (- (* 4 S) (cadr p03))))
(setq p40 (list (- (car p02) (* s 4)) (- (cadr p01) (* 2 S))))
(setq p41 (list (- (* s 2) (car p04)) (- (cadr p01) (* 2 S))))
(setq p42 (list (- (* s 2) (car p04)) (- (* 2 S) (cadr p03))))
(setq p43 (list (- (car p02) (* s 2)) (- (* 2 S) (cadr p03))))
(setq p44 (list (- (car p02) (* s 2)) (- (cadr p01) (* 1 S))))
)
(defun output()
(command "pline" @ p1 p2 p3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21
      P22 P23 P24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 p36 p37 p38 p39 p40 p41 p42 p43 p44"")
(command "fillet" "radius" 100)
(command "fillet" "p" "last")
)
(defun c:cre()
(getinfo)
(procinfo)
(output)
)

环图纸

Tharwat 发表于 2022-7-6 07:21:18

这可能很有趣。
 
此线程

SLW210 发表于 2022-7-6 07:30:32

请阅读代码发布指南,并编辑您的帖子以包含代码标签。它也会去掉表情符号。

Begde 发表于 2022-7-6 07:46:50

尊敬的各位:,
 
我试着在这里练习代码。请用8代替笑脸。

SLW210 发表于 2022-7-6 07:50:52

 
如果您按照链接中的说明并使用代码标记,则图释将不会显示。这次我帮你修好了。

Begde 发表于 2022-7-6 08:09:19

谢谢。
页: [1]
查看完整版本: aut中的地板下加热回路