明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1243|回复: 3

菜鸟初学写程序,请帮忙修改!谢谢

[复制链接]
发表于 2005-1-5 19:41:00 | 显示全部楼层 |阅读模式
这个程序是我初学会写的,请各位大虾帮忙修改一下,现在存在的问题是,用DXF代码获取字的角度和高度时不对,重写的字角度与基准的字不一样! ;;;等高线高程连续计算重写程序
;;;角度转化
(defun rtd(a)
(* 180 (/ a pi))
)
(defun dtr(a)
(* a (/ pi 180.0)
)
)
;;;主程序
(defun cXBGCX(/ oldcmd SS TL zg JD JS jj p pt1 )
(setq oldcmd(getvar "cmdecho"))
(SETvar "CMDECHO" 0)
(PRINC "\n选择已标注好的初始高程:")
(SETQ SS (SSGET '((0 . "MTEXT"))))
(SETQ TL (CDR (ASSOC 1 (ENTGET (SSNAME SS 0)))))
(SETQ zg (CDR (ASSOC 40 (ENTGET (SSNAME SS 0)))))
(SETQ jd (CDR (ASSOC 50 (ENTGET (SSNAME SS 0)))))
(setq JS(distof TL 2))

(setq p(getreal "\n设置步距[上+,下-]<2>:"))
(if (= p nil)
(setq p 2)
)
(setq pt1(getpoint "\n输入重写点:"))
(setq jj(+ JS p))
(setq JD(rtos jj 2 3))
(command "text" "j" "m" pt1 zg jd JD)
(while pt1
(setq pt1(getpoint "\n输入重写点:"))
(if (= pt1 nil)
(ddd)
(progn
(setq jj(+ jj p))
(setq JD(rtos jj 2 3))
(command "text" "j" "m" pt1 zg jd JD)

(SETvar "CMDECHO" oldcmd)

)
)
)
)
(defun ddd(/ str)
(setq str "高程标注完成,请检查!")
(prompt str)
(SETvar "CMDECHO" oldcmd)
(princ)
)
发表于 2005-1-5 20:18:00 | 显示全部楼层
注意:LISP语言对大小写不敏感,,,jd和JD是一样的另,你的过程比较紊乱,给你稍微优化了一下:
  1. ;;;等高线高程连续计算重写程序
  2. ;;;角度转化
  3. ;;;主程序
  4. (defun c:LXBGCX(/ oldcmd SS TL zg jd JDT JS jj p pt1 ent)
  5.    (setq oldcmd(getvar "cmdecho"))
  6.    (SETvar "CMDECHO" 0)
  7.    (PRINC "\n选择已标注好的初始高程:")
  8.    (SETQ SS (SSGET '((0 . "MTEXT"))) ent (ssname ss 0))
  9.    (SETQ TL (CDR (ASSOC 1 (entget ent))))
  10.    (SETQ zg (CDR (ASSOC 40 (entget ent))))
  11.    (SETQ jd (CDR (ASSOC 50 (entget ent))))
  12.    (setq jj(distof TL 2))
  13.    (setq p(getreal "\n设置步距[上+,下-]<2>:"))
  14.    (if (= p nil) (setq p 2))
  15.    (while (setq pt1 (getpoint "\n输入重写点:"))
  16.        (setq jj(+ jj p))
  17.        (setq JDT (rtos jj 2 3))
  18.        (command "text" "j" "m" pt1 zg jd JDT)
  19.    )
  20.    (princ "\n高程标注完成,请检查!")
  21.    (SETvar "CMDECHO" oldcmd)
  22. )
 楼主| 发表于 2005-1-5 20:38:00 | 显示全部楼层
谢谢飞哥,太谢谢了!
 楼主| 发表于 2005-1-5 20:47:00 | 显示全部楼层
请问飞哥,如何获得文本字体高度和倾角!我上面的那个程序中字高和角度好相不起作用啊!有劳你了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 22:16 , Processed in 0.148453 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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