自动拾取区域fr
你好我希望这条线索能对工料测量师有所帮助。
首先,我们通过dwg绘制道路横断面图。总体安排它已经由顾问公司支付。然后,我们的测量师检查建造的路堤层。我们需要在横截面上画出这个高度。并从图纸中提取建造的路堤区域。横截面每隔20m。这意味着那里有很多横截面。
我使用的绘制图层和拾取数量的方法是。
首先,我有一些测量点,包括中心线和两侧偏移。至少3分的调查。
我是多么快速地完成这些步骤。有什么办法吗?
我有一个lisp称为SRL的曲面rl它需要一个文本被更改为新的水平,只是把一个“x”旁边的点。
至于剩下的问题真的不知道。你需要描述更多。
;Calculates level of a point in cross or long sections
(setvar "cmdecho" 0)
(princ "\n To run just type SRL")
;;-------------------=={ Parse Numbers }==--------------------;;`
;; ;;
;;Parses a list of numerical values from a supplied string. ;;
;;------------------------------------------------------------;;
;;Author: Lee Mac, Copyright © 2011 - www.lee-mac.com ;;
;;------------------------------------------------------------;;
;;Arguments: ;;
;;s - String to process ;;
;;------------------------------------------------------------;;
;;Returns:List of numerical values found in string. ;;
;;------------------------------------------------------------;;
(defun LM:ParseNumbers ( s )
(
(lambda ( l )
(read
(strcat "("
(vl-list->string
(mapcar
(function
(lambda ( a b c )
(if
(or
(< 47 b 58)
(and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
(and (= 46 b) (< 47 a 58) (< 47 c 58))
)
b 32
)
)
)
(cons nil l) l (append (cdr l) (list nil))
)
)
")"
)
)
)
(vl-string->list s)
)
)
(defun c:SRL ()
(setq olddimzin (getvar "dimzin"))
(setvar "dimzin" 0)
(if (= dwgscale nil)
(setq dwgscale (/ 1000.0 (getreal "\n enter vertical scale ")))
)
;(setq datum (getreal "\n Enter datum level "))
(setq datum (car (LM:ParseNumbers (cdr (assoc 1 (entget (car (entsel "\nPick datum text"))))))))
(setq test 1)
(setq pt1 (cadr (getpoint "\npick datum")))
(while (= test 1)
(setq pt2 (cadr (getpoint "\npick point")))
(setq dist (/(abs (- pt1 pt2)) dwgscale))
(setq en1 (car (entsel "\nSelect text number:" )))
(if (/= en1 nil)
(progn
(setq tent (entget en1))
(setq a (+ dist datum))
(setq a (rtos a 2 3))
(setq el (subst (cons 1 a) (assoc 1 tent) tent))
(entmod el)
);progn
(princ "\nplease pick again"); else
);if
); while t
(setq el nil
en nil
a nil
en1 nil
test nil)
(setvar "cmdecho" 1)
(setvar "dimzin" olddimzin)
(princ)
) ;ends main defun
在垂直和水平方向上做更多的横截面=相同比例使面积计算更容易。我使用绘图1:100 1:100,然后缩放0.1所有横截面,使其真实大小。
然后使用bpoly创建一条pline,您可以得到该pline的面积。
第三,一种简单的方法来转换现有的,也就是说1:100,1:50的比例为1=1,只需将所有横截面的一块再次插入,并将垂直比例更改为un比例,这样hor和ver现在从内存中为1:1,使x比例为0.1 y 0.05,显然,如果他们的脚比例类似的方法。 我附上了我们每20米和每周绘制的样品横截面。它花费了太多的时间一个接一个地画。
我已经调查了建造层的点。我的绘图步骤是
1.cntl+a选择所有横截面图
2.m-move命令拾取中心线顶层并移动到(0,中心线层)
例如01167.424是我附加的样本横截面。
3.pl多段线命令,并从excel偏移和标高复制
4、粘贴到autocad命令行
5、横截面拾取面积
这是我一个接一个地绘制横截面的步骤
现在可能是时候看看CIV3d或“Civilsite Design”www.civilsurveysolutions了。通用域名格式。au只需按下一个按钮,它就能完整地报告你的道路设计,甚至可以分解成不同体积的路面材料。
我很抱歉,但对我来说,花几个小时编写代码是浪费时间,因为自70年代以来,编写代码的能力就已经存在,使用软件包中的其他东西可以很快收回成本支出。 Civil 3d、Civil site design及其所有相同的软件仅用于设计图纸,并且可以进行数量估算。
但我的帖子是针对不同情况的。已经从设计软件中获得了一些横截面,但我们需要将构造的标高合并到该横截面中,并需要拾取数量
页:
[1]