通信人家园

标题: 按比例画杆路(原创)(新兵求下载权限)  [查看完整版帖子] [打印本页]

时间:  2012-11-9 11:52
作者: wxmys     标题: 按比例画杆路(原创)(新兵求下载权限)

;按比例画杆路
(defun c:hgl(/ lx ls zg oce bl p1 ghqz gh r osm a1 len p2 p11 p22 p3 a2 p4 p5 ghstring)
  (setq lx 2.25 ;设定直线下面的字偏离直线的距离为lx
        ls 2.25 ;设定直线上面的字偏离直线的距离为ls
        zg 1.5) ;设定字高zg
  (command "-style" "Standard" "" 0 "" "" "" "" "")    ;切换到默认的字体
  (graphscr) ;切换到图形窗口
  (setq oce (getvar "cmdecho"))  ;储存旧的指令响应值
  (setvar "cmdecho" 0)         ;关闭指令响应
  (setq bl 8000                     ;(getint "\n请输入比例尺[1:X]内的X值<推荐4000>:")
        p1 (getpoint "\n杆路的起点:")         ;取得基准点p1      
        ghqz (getstring "\n杆号前缀<不包括常用的字母“P”,可不输入>:")
        gh (getint "\n杆号<单纯一个整数>:")                             ;取得杆号标注
        r 1               ;电杆半径
  )
(setq osm (getvar "osmode"))  ;储存对象捕捉的系统变量
(setvar "osmode" 0)           ;关闭对象捕捉
;;;;;;;;开始外循环
(while (setq a1 (getangle p1 "\n杆路的方向<右键退出/Esc退出>:"))   ;取得杆路的方向
;;;;;;;;开始内循环
  
(while (setq len (getdist "\n请输入杆距<米>:"))   ;取得杆距
(setq
    p2 (polar p1 a1 (/ (* len 1000) bl))         ;计算p2的坐标
    p11 (polar P1 a1 r)
    p22 (polar p1 a1 (- (/ (* len 1000) bl) r))
    p3 (list (/ (+ (car p1) (car p2)) 2.0) (/ (+ (cadr p1) (cadr p2)) 2.0)) ;计算p1p2的中点p3的坐标
)
  (command ".line" p11 p22 "") ;画直线
  ;(command ".point" p2) ;画点标记
  (command ".circle" p2 r) ;画圆形

(if (and  (> a1 (* pi 0.5))(< a1 (* pi 1.5)))
    (setq a2 (angle p2 p1))
    (setq a2 a1)
)
(setq
    p4 (polar p2 (+ a2 (/ pi 2)) ls) ;计算直线上面的文字位置 杆号
    p5 (polar p3 (- a2 (/ pi 2)) lx) ;计算直线下面的文字位置
    ghstring (strcat ghqz "P" (itoa gh))
)
(if (= (rem gh 3) 0)
  (command ".text" "m" p4 zg (/ (* a2 180) pi) ghstring) ;以中央对齐的方式写直线上面的字   杆号
)
  (command ".text" "m" p5 zg (/ (* a2 180) pi) (rtos len 2 1)) ;以中央对齐的方式写直线下面的字:米
  
  (command ".-pan" p2 p1)       ;平移窗口
  (setq p1 p2)                  ;开始重复
  (setq gh (+ 1 gh))            ;杆号自加1
)       ;内循环体结束
)       ;外循环体结束
(setvar "osmode" osm)         ;恢复对象捕捉
(setvar "cmdecho" oce) ;恢复旧的指令响应值
  (princ)
) ;c:hgl函数结束

时间:  2014-11-25 14:35
作者: jiao蛟

怎么用?
时间:  2018-5-25 11:09
作者: 向你学习

怎么用呢




通信人家园 (https://www.txrjy.com/) Powered by C114