明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1874|回复: 7

[源码] 坐标网格程序,还没有调试完毕,欢迎大家一起来打酱油~~~

[复制链接]
发表于 2014-7-9 18:04 | 显示全部楼层 |阅读模式
本帖最后由 77077 于 2014-7-10 09:23 编辑

坐标网格程序,还没有调试完毕,欢迎大家一起来打酱油~~~
  1. (defun makeline (p1 p2)
  2.   (entmakex (list '(0 . "line") (cons 10 p1) (cons 11 p2)))
  3. )
  4. (defun maketext (str pt ang h)
  5.   (entmakex
  6.     (list '(0 . "text") (cons 1 str) (cons 10 pt) (cons 50 ang) (cons 40 h))
  7.   )
  8. )
  9. (defun c:zbwg ()
  10.   (setq os (getvar "osmode"))
  11.   (setq P1 (getpoint "输入左下角坐标:")
  12.         P2 (getcorner P1 "\n输入右上角坐标:")
  13.         BL (getint "输入间隔距离<50>:")
  14.         )
  15. (if (not bl) (setq bl 50))
  16. (setq len-x (- (car p2) (car p1))
  17.        len-y (- (cadr p2) (cadr p1))
  18.        remx (rem (car p1) bl)
  19.        remy (rem (cadr p1) bl)
  20.        xwgs (fix (/ len-x bl))
  21.        ywgs (fix (/ len-y bl))
  22.        i 1
  23.        ii 1
  24.        zg (* bl 0.1)
  25.        )
  26.   (setvar "osmode" 0)
  27.   (repeat xwgs
  28.     (setq pt1 (polar p1 0 (- (* bl i) remx))
  29.           pt2 (polar pt1 (* pi 0.5) len-y))
  30.     (makeline pt1 pt2)
  31.     (setq str (strcat "X=" (rtos (car pt1) 2 0)))
  32.     (setq str-pt1 (polar pt1 pi zg)
  33.           str-pt2 (polar pt2 pi zg)
  34.           str-pt2 (polar str-pt2 (* pi 1.5) (* (strlen str) zg))
  35.           )
  36.     (maketext str str-pt1 (* pi 0.5) zg)
  37.     (maketext str str-pt2 (* pi 0.5) zg)
  38.     (setq i (1+ i))
  39.   )
  40.   (repeat ywgs
  41.     (setq pt1 (polar p1 (* pi 0.5) (- (* bl ii) remy))
  42.           pt2 (polar pt1 0 len-x))
  43.     (makeline pt1 pt2)
  44.     (setq str (strcat "Y=" (rtos (cadr pt1) 2 0)))
  45.     (setq str-pt1 (polar pt1 (* pi 0.5) zg)
  46.           str-pt2 (polar pt2 (* pi 0.5) zg)
  47.           str-pt2 (polar str-pt2 pi (* (strlen str) zg))
  48.           )
  49.     (maketext str str-pt1 0 zg)
  50.     (maketext str str-pt2 0 zg)
  51.     (setq ii (1+ ii))
  52.   )       
  53.   (setvar "osmode" os)
  54.   (princ)
  55. )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-7-9 19:27 | 显示全部楼层
打酱油的路过……
发表于 2014-7-10 08:41 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2014-7-10 09:46 | 显示全部楼层
xyp1964 发表于 2014-7-10 08:41

院长,帮我改一下呗.
1.程序开始,保存所有系统变量到C:\\ACADVAR.TXT,程序结束,读取C:\\ACADVAR.TXT恢复变量
2.求个函数,判断图层是否存在,若不存在添加图层(MKlay 图层名 颜色 线型)
发表于 2014-7-10 13:10 | 显示全部楼层

RE: 坐标网格程序,还没有调试完毕,欢迎大家一起来打酱油~~~

77077 发表于 2014-7-14 04:46
院长,帮我改一下呗.
2.求个函数,判断图层是否存在,若不存在添加图层(MKlay 图层名 颜色 线型) ...


(setq lay (tblsearch "layer" "多边形编号"))
    (if (= lay nil)
        (command "layer" "n" "多边形编号" "c" "4" "多边形编号" "")
    )
发表于 2015-1-9 21:16 | 显示全部楼层
真牛逼,很需要哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-30 19:19 , Processed in 0.347382 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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