明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1305|回复: 5

[提问] 插入文字的程序 有时会出错 求高手完善和优化!

[复制链接]
发表于 2014-11-20 11:44 | 显示全部楼层 |阅读模式
(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" P1  P2 "" )
        (COMMAND "_.TEXT" PK1 "3.5" "0" "粘层油(AL(M)-3)" )
        (COMMAND "_.LINE" P3  P4 "")
        (COMMAND "_.TEXT" PK2 "3.5" "0" "6cm厚中粒式沥青砼(AC-20 C)" )
        (COMMAND "_.LINE" P5  P6 "")
        (COMMAND "_.TEXT" PK3 "3.5" "0" "粘层油(AL(M)-3)" )
        (COMMAND "_.LINE" P7  P8 "")
        (COMMAND "_.TEXT" PK4 "3.5" "0" "8cm厚粗粒式沥青砼(AC-25 C)" )
        (COMMAND "_.LINE" P9  P10 "")
        (COMMAND "_.TEXT" PK5 "3.5" "0" "粘层油(AL(M)-3)" )
        (COMMAND "_.LINE" P11  P12 "")
        (COMMAND "_.TEXT" PK6 "3.5" "0" "1cm改性沥青碎石封层" )
        (COMMAND "_.LINE" P13  P14 "")
        (COMMAND "_.TEXT" PK7 "3.5" "0" "25cm厚C40水泥砼" )
        (COMMAND "_.LINE" P15  P16 "")
        (COMMAND "_.TEXT" PK8 "3.5" "0" "20cm厚5%水泥稳定碎石基层" )
        (COMMAND "_.LINE" P17  P18 "")
        (COMMAND "_.TEXT" PK9 "3.5" "0" "20cm厚4%水泥稳定碎石底基层" )
        (COMMAND "_.LINE" P19  P20 "")
        (COMMAND "_.TEXT" PK10 "3.5" "0" "15cm厚未筛分碎石垫层" )
        (COMMAND "_.LINE" P21  P22 "" )
        (COMMAND "_.LINE" P23  P24 "" )
  (setvar "osmode" 183)
  (setvar "cmdecho" 1)
  (command ".undo" "end")
  (prin1)
  (princ)
)


1:能否进行优化 感觉代码看着好累!
2:有时候字和线会重叠,是不是屏幕的原因?求优化
3:能否设立个文字库,每行的文字能自由选择?

谢谢
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2014-11-21 11:06 | 显示全部楼层
谁来看看!!!
发表于 2014-11-22 11:40 | 显示全部楼层
  1. (defun c:tt ()
  2.   (defun abc (pt str)
  3.     (command "text" pt "3.5" "0" str)
  4.   )
  5.   (defun abd (p1 p2)
  6.     (command "_.line" "non" p1 "non" p2 "")
  7.   )
  8.   (if (setq pk (getpoint "插入沥青结构层位置: "))
  9.     (progn
  10.       (setvar "osmode" 0)
  11.       (setq ll         45
  12.             p1         (polar pk (* 1.5 pi) 1)
  13.             p2         (polar p1 0 ll)
  14.             p3         (polar p1 (* 1.5 pi) 1)
  15.             p4         (polar p3 0 ll)
  16.             pk1         (polar pk (* 1.5 pi) 6.0)
  17.             p5         (polar pk1 (* 1.5 pi) 1)
  18.             p6         (polar p5 0 ll)
  19.             pk2         (polar pk1 (* 1.5 pi) 6.0)
  20.             p7         (polar pk2 (* 1.5 pi) 1)
  21.             p8         (polar p7 0 ll)
  22.             pk3         (polar pk2 (* 1.5 pi) 6.0)
  23.             p9         (polar pk3 (* 1.5 pi) 1)
  24.             p10         (polar p9 0 ll)
  25.             pk4         (polar pk3 (* 1.5 pi) 6.0)
  26.             p11         (polar pk4 (* 1.5 pi) 1)
  27.             p12         (polar p11 0 ll)
  28.             pk5         (polar pk4 (* 1.5 pi) 6.0)
  29.             p13         (polar pk5 (* 1.5 pi) 1)
  30.             p14         (polar p13 0 ll)
  31.             pk6         (polar pk5 (* 1.5 pi) 6.0)
  32.             p15         (polar pk6 (* 1.5 pi) 1)
  33.             p16         (polar p15 0 ll)
  34.             pk7         (polar pk6 (* 1.5 pi) 6.0)
  35.             p17         (polar pk7 (* 1.5 pi) 1)
  36.             p18         (polar p17 0 ll)
  37.             pk8         (polar pk7 (* 1.5 pi) 6.0)
  38.             p19         (polar pk8 (* 1.5 pi) 1)
  39.             p20         (polar p19 0 ll)
  40.             pk9         (polar pk8 (* 1.5 pi) 6.0)
  41.             p21         (polar pk9 (* 1.5 pi) 1)
  42.             p22         (polar p21 0 ll)
  43.             pk10 (polar pk9 (* 1.5 pi) 6.0)
  44.             p23         (polar pk10 (* 1.5 pi) 1)
  45.             p24         (polar p23 0 ll)
  46.             ptn         (list p1 p2 p5        p6 p7 p8 p9 p10        p11 p12        p13 p14        p15 p16        p17 p18        p19 p20        p21 p22        p23 p24)
  47.       )
  48.       (abc pk "4cm厚细粒式改性沥青砼(ac-13c)")
  49.       (abc pk1 "粘层油(al(m)-3)")
  50.       (abc pk2 "6cm厚中粒式沥青砼(ac-20 c)")
  51.       (abc pk3 "粘层油(al(m)-3)")
  52.       (abc pk4 "8cm厚粗粒式沥青砼(ac-25 c)")
  53.       (abc pk5 "粘层油(al(m)-3)")
  54.       (abc pk6 "1cm改性沥青碎石封层")
  55.       (abc pk7 "25cm厚c40水泥砼")
  56.       (abc pk8 "20cm厚5%水泥稳定碎石基层")
  57.       (abc pk9 "20cm厚4%水泥稳定碎石底基层")
  58.       (abc pk10 "15cm厚未筛分碎石垫层")
  59.       (while (and (setq p1 (car ptn))
  60.                   (setq p2 (cadr ptn))
  61.              )
  62.         (setq ptn (cddr ptn))
  63.         (abd p1 p2)
  64.       )
  65.     )
  66.   )
  67.   (princ)
  68. )
 楼主| 发表于 2014-11-22 11:59 | 显示全部楼层
xyp1964 发表于 2014-11-22 11:40

谢谢院长

点评

学会用自定义函数  发表于 2014-11-22 13:41
发表于 2018-4-4 06:16 | 显示全部楼层
谢谢楼主分享
发表于 2020-3-5 09:11 | 显示全部楼层
感谢各位大神,学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-13 17:02 , Processed in 0.161975 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表