flytoday 发表于 2012-12-20 21:11:31

求依据坡度水平线标注标高。求高手出手谢谢




测试文件:

操作:
1---指定起点输入标高
2---指定方向并输入坡度值
3---进行标高标高并生成高度线
麻烦哪位高手出手帮忙谢谢。。。。。。。

夏生生 发表于 2012-12-20 21:11:32

直线的比例不是很清楚,按照1:1000写的,您试试看,有什么问题再改(defun c:test1 ( / oldos pt1 pd ptx bg1 bgx disx pt2)
(setq oldos (getvar "osmode"))
(setvar "osmode" 513)
(setq      pt1(getpoint "\n选择起点:")
      bg1(getreal "\n输入起点标高:")
      pd(getreal "\n输入终坡度:")
)
(entmake (list '(0 . "SOLID")
               '(8 . "DIM_ELEV");默认有该图层
               (cons 10 pt1)
               (cons 11 (mapcar '+ '(300 300 0) pt1))
               (cons 12 (mapcar '+ '(-300 300 0) pt1))
               (cons 13 (mapcar '+ '(-300 300 0) pt1))
         )
)
(entmake (list '(0 . "text")
               '(8 . "PUB_TEXT");默认有该图层
               '(10 0 0 0)
               (cons 11 (mapcar '+ '(0 400 0) pt1))
               (cons 1 (rtos bg1 2 3))
               '(40 . 300)
               '(41 . 0.75)
               (cons 50 0)
               '(7 . "_TCH_DIM");默认有该样式
               '(72 . 1)
               '(73 . 0)
         )
)
(while (setq ptx (getpoint "\n选择插入点:"))
    (setq disx (/(distance pt1 ptx)1000)
          bgx(+ bg1 (* disx pd))
          pt2 (mapcar '+ (list 0 (- bgx bg1) 0) ptx)
    )
      (entmake (list '(0 . "SOLID")
               '(8 . "DIM_ELEV");默认有该图层
               (cons 10 pt2)
               (cons 11 (mapcar '+ '(300 300 0) pt2))
               (cons 12 (mapcar '+ '(-300 300 0) pt2))
               (cons 13 (mapcar '+ '(-300 300 0) pt2))
         )
)
    (entmake (list '(0 . "line")
                   (cons 10 ptx)
                   (cons 11 pt2)
             )
    )
(entmake (list '(0 . "text")
               '(8 . "PUB_TEXT");默认有该图层
               '(10 0 0 0)
               (cons 11 (mapcar '+ '(0 400 0) pt2))
               (cons 1 (rtos bgx 2 3))
               '(40 . 300)
               '(41 . 0.75)
               (cons 50 0)
               '(7 . "_TCH_DIM");默认有该样式
               '(72 . 1)
               '(73 . 0)
         )
)
)
(setvar "osmode" oldos)
(princ)
)

flytoday 发表于 2012-12-21 07:12:18

沉滴好快顶起哈………

flytoday 发表于 2012-12-21 13:42:43

最好图纸中能选择指定图层图。。
关于样式最好能取得图纸中的当前样式。。

麻烦了谢谢~~~~~~~~~~~~~~~~

flytoday 发表于 2012-12-21 19:29:54

哪位路过滴大师能改改谢谢

flytoday 发表于 2012-12-22 08:45:12

哪位路过滴大师能改改谢谢

夏生生 发表于 2012-12-22 08:49:24

flytoday 发表于 2012-12-22 08:45 static/image/common/back.gif
哪位路过滴大师能改改谢谢

(defun c:test1 ( / oldos pt1 pd ptx bg1 bgx disx pt2)
(setq oldos (getvar "osmode"))
(setvar "osmode" 513)
(setq      pt1(getpoint "\n选择起点:")
      bg1(getreal "\n输入起点标高:")
      pd(getreal "\n输入终坡度:")
)
(entmake (list '(0 . "SOLID")
   ;            '(8 . "DIM_ELEV");默认有该图层
               (cons 10 pt1)
               (cons 11 (mapcar '+ '(300 300 0) pt1))
               (cons 12 (mapcar '+ '(-300 300 0) pt1))
               (cons 13 (mapcar '+ '(-300 300 0) pt1))
         )
)
(entmake (list '(0 . "text")
;                '(8 . "PUB_TEXT");默认有该图层
               '(10 0 0 0)
               (cons 11 (mapcar '+ '(0 400 0) pt1))
               (cons 1 (rtos bg1 2 3))
               '(40 . 300)
               '(41 . 0.75)
               (cons 50 0)
    ;             '(7 . "_TCH_DIM");默认有该样式
               '(72 . 1)
               '(73 . 0)
         )
)
(while (setq ptx (getpoint "\n选择插入点:"))
    (setq disx (/(distance pt1 ptx)1000)
          bgx(+ bg1 (* disx pd))
          pt2 (mapcar '+ (list 0 (- bgx bg1) 0) ptx)
    )
      (entmake (list '(0 . "SOLID")
    ;             '(8 . "DIM_ELEV");默认有该图层
               (cons 10 pt2)
               (cons 11 (mapcar '+ '(300 300 0) pt2))
               (cons 12 (mapcar '+ '(-300 300 0) pt2))
               (cons 13 (mapcar '+ '(-300 300 0) pt2))
         )
)
    (entmake (list '(0 . "line")
                   (cons 10 ptx)
                   (cons 11 pt2)
             )
    )
(entmake (list '(0 . "text")
      ;         '(8 . "PUB_TEXT");默认有该图层
               '(10 0 0 0)
               (cons 11 (mapcar '+ '(0 400 0) pt2))
               (cons 1 (rtos bgx 2 3))
               '(40 . 300)
               '(41 . 0.75)
               (cons 50 0)
   ;            '(7 . "_TCH_DIM");默认有该样式
               '(72 . 1)
               '(73 . 0)
         )
)
)
(setvar "osmode" oldos)
(princ)
)

flytoday 发表于 2012-12-22 12:14:40

本帖最后由 flytoday 于 2012-12-22 12:27 编辑

现在代码不受指定图层与样式限制了
可以用了谢谢大师出手相助
非常感谢


众山小 发表于 2012-12-23 22:18:31

确实不错,建筑设计中绘制车道非常有用!此程序中的标高是从低由高增加的。程序是否可以增加标高由高向低呢?谢谢!

恬逸 发表于 2014-10-10 10:38:50

不知道运行命令啊。
页: [1] 2
查看完整版本: 求依据坡度水平线标注标高。求高手出手谢谢