插入文字的程序 有时会出错 求高手完善和优化!
(DEFUN C:wz7() ;enter text 插入结构层(command ".undo" "begin")
(setvar "cmdecho" 0)
(SETQ PK (GETPOINT "插入沥青结构层位置:"))
(setvar "osmode" 0)
(setq LL 38
p1 (polar PK (* 1.5 pi) 1)
p2 (polar p1 0 LL)
p3 (polar p1 (* 1.5 pi) 1)
p4 (polar p3 0 LL)
PK1 (polar pK (* 1.5 pi) 6.0)
p5 (polar PK1 (* 1.5 pi) 1)
p6 (polar p5 0 LL)
PK2 (polar pK1 (* 1.5 pi) 6.0)
p7 (polar PK2 (* 1.5 pi) 1)
p8 (polar p7 0 LL)
PK3 (polar pK2 (* 1.5 pi) 6.0)
p9 (polar PK3 (* 1.5 pi) 1)
p10 (polar p9 0 LL)
PK4 (polar pK3 (* 1.5 pi) 6.0)
p11 (polar PK4 (* 1.5 pi) 1)
p12 (polar p11 0 LL)
PK5 (polar pK4 (* 1.5 pi) 6.0)
p13 (polar PK5 (* 1.5 pi) 1)
p14 (polar p13 0 LL)
PK6 (polar pK5 (* 1.5 pi) 6.0)
p15 (polar PK6 (* 1.5 pi) 1)
p16 (polar p15 0 LL)
PK7 (polar pK6 (* 1.5 pi) 6.0)
p17 (polar PK7 (* 1.5 pi) 1)
p18 (polar p17 0 LL)
PK8 (polar pK7 (* 1.5 pi) 6.0)
p19 (polar PK8 (* 1.5 pi) 1)
p20 (polar p19 0 LL)
PK9 (polar pK8 (* 1.5 pi) 6.0)
p21 (polar PK9 (* 1.5 pi) 1)
p22 (polar p21 0 LL)
PK10 (polar pK9 (* 1.5 pi) 6.0);两条直线间间距
p23 (polar PK10 (* 1.5 pi) 1);距离下条直线长
p24 (polar p23 0 LL)
)
(COMMAND "_.TEXT" PK "3.5" "0" "4cm厚细粒式改性沥青砼(AC-13C)" )
(COMMAND "_.LINE" P1P2 "" )
(COMMAND "_.TEXT" PK1 "3.5" "0" "粘层油(AL(M)-3)" )
(COMMAND "_.LINE" P3P4 "")
(COMMAND "_.TEXT" PK2 "3.5" "0" "6cm厚中粒式沥青砼(AC-20 C)" )
(COMMAND "_.LINE" P5P6 "")
(COMMAND "_.TEXT" PK3 "3.5" "0" "粘层油(AL(M)-3)" )
(COMMAND "_.LINE" P7P8 "")
(COMMAND "_.TEXT" PK4 "3.5" "0" "8cm厚粗粒式沥青砼(AC-25 C)" )
(COMMAND "_.LINE" P9P10 "")
(COMMAND "_.TEXT" PK5 "3.5" "0" "粘层油(AL(M)-3)" )
(COMMAND "_.LINE" P11P12 "")
(COMMAND "_.TEXT" PK6 "3.5" "0" "1cm改性沥青碎石封层" )
(COMMAND "_.LINE" P13P14 "")
(COMMAND "_.TEXT" PK7 "3.5" "0" "25cm厚C40水泥砼" )
(COMMAND "_.LINE" P15P16 "")
(COMMAND "_.TEXT" PK8 "3.5" "0" "20cm厚5%水泥稳定碎石基层" )
(COMMAND "_.LINE" P17P18 "")
(COMMAND "_.TEXT" PK9 "3.5" "0" "20cm厚4%水泥稳定碎石底基层" )
(COMMAND "_.LINE" P19P20 "")
(COMMAND "_.TEXT" PK10 "3.5" "0" "15cm厚未筛分碎石垫层" )
(COMMAND "_.LINE" P21P22 "" )
(COMMAND "_.LINE" P23P24 "" )
(setvar "osmode" 183)
(setvar "cmdecho" 1)
(command ".undo" "end")
(prin1)
(princ)
)
1:能否进行优化 感觉代码看着好累!
2:有时候字和线会重叠,是不是屏幕的原因?求优化
3:能否设立个文字库,每行的文字能自由选择?
谢谢
谁来看看!!! (defun c:tt ()
(defun abc (pt str)
(command "text" pt "3.5" "0" str)
)
(defun abd (p1 p2)
(command "_.line" "non" p1 "non" p2 "")
)
(if (setq pk (getpoint "插入沥青结构层位置: "))
(progn
(setvar "osmode" 0)
(setq ll 45
p1 (polar pk (* 1.5 pi) 1)
p2 (polar p1 0 ll)
p3 (polar p1 (* 1.5 pi) 1)
p4 (polar p3 0 ll)
pk1 (polar pk (* 1.5 pi) 6.0)
p5 (polar pk1 (* 1.5 pi) 1)
p6 (polar p5 0 ll)
pk2 (polar pk1 (* 1.5 pi) 6.0)
p7 (polar pk2 (* 1.5 pi) 1)
p8 (polar p7 0 ll)
pk3 (polar pk2 (* 1.5 pi) 6.0)
p9 (polar pk3 (* 1.5 pi) 1)
p10 (polar p9 0 ll)
pk4 (polar pk3 (* 1.5 pi) 6.0)
p11 (polar pk4 (* 1.5 pi) 1)
p12 (polar p11 0 ll)
pk5 (polar pk4 (* 1.5 pi) 6.0)
p13 (polar pk5 (* 1.5 pi) 1)
p14 (polar p13 0 ll)
pk6 (polar pk5 (* 1.5 pi) 6.0)
p15 (polar pk6 (* 1.5 pi) 1)
p16 (polar p15 0 ll)
pk7 (polar pk6 (* 1.5 pi) 6.0)
p17 (polar pk7 (* 1.5 pi) 1)
p18 (polar p17 0 ll)
pk8 (polar pk7 (* 1.5 pi) 6.0)
p19 (polar pk8 (* 1.5 pi) 1)
p20 (polar p19 0 ll)
pk9 (polar pk8 (* 1.5 pi) 6.0)
p21 (polar pk9 (* 1.5 pi) 1)
p22 (polar p21 0 ll)
pk10 (polar pk9 (* 1.5 pi) 6.0)
p23 (polar pk10 (* 1.5 pi) 1)
p24 (polar p23 0 ll)
ptn (list p1 p2 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24)
)
(abc pk "4cm厚细粒式改性沥青砼(ac-13c)")
(abc pk1 "粘层油(al(m)-3)")
(abc pk2 "6cm厚中粒式沥青砼(ac-20 c)")
(abc pk3 "粘层油(al(m)-3)")
(abc pk4 "8cm厚粗粒式沥青砼(ac-25 c)")
(abc pk5 "粘层油(al(m)-3)")
(abc pk6 "1cm改性沥青碎石封层")
(abc pk7 "25cm厚c40水泥砼")
(abc pk8 "20cm厚5%水泥稳定碎石基层")
(abc pk9 "20cm厚4%水泥稳定碎石底基层")
(abc pk10 "15cm厚未筛分碎石垫层")
(while (and (setq p1 (car ptn))
(setq p2 (cadr ptn))
)
(setq ptn (cddr ptn))
(abd p1 p2)
)
)
)
(princ)
) xyp1964 发表于 2014-11-22 11:40 static/image/common/back.gif
谢谢院长 谢谢楼主分享 感谢各位大神,学习了!
页:
[1]