2.大多数civil程序都内置了链测长度标签例程,作为标准,它们的能力水平各不相同(civil 3D在这方面不是最好的,即将加载2009年,也许更好),从等间距的ch加上Tp,到从绘图中随机选取点并添加或只是在表格中键入链测长度的能力,在不同的间距添加ch,我们使用ARD+civil 3D的很多东西。
第三,如果你没有civil 3d,有一些不错的civil附加组件,价格适中,可以制作曲面、长截面和横截面体积等。只需在网上搜索即可。
第四,写很多套路需要很长时间,而v的购买可能需要很长时间。
如果测量了您的个人资料,这将起作用
线条如上图所示
轮廓必须仅为LWPOLYLINE,否则I
需要重写此lisp代码
文本文件将保存在您工作的同一文件夹中
或者在“文件”对话框中选择所需的其他文件夹
因此,要对块执行相同的操作,我必须
现在没有时间,也许以后
我可以写点什么来解决它
;;============================wl.lsp=============================;;
;; local defun
(defun parse-dist (lst / ret)
(setq ret (mapcar '- (cdr lst)
(reverse (cdr (reverse lst)))))
(if (zerop (car lst))
(setq ret (append (list 0.0) ret))
)
ret
)
;; main part
(defun C:WL (/ axss dist_list dp fn fss obj p1 p2 pc ptlist
pts sep_list ss txt_file_name txt_list)
(vl-load-com)
(prompt "\n >> Select the profile >>")
(if (setq ss (ssget "_+.:S:E" (list (cons 0 "LWPOLYLINE"))))
(progn
(setq obj (vlax-ename->vla-object (ssname ss 0)))
(setq pts (vlax-get obj 'Coordinates))
(while (cadr pts)
(setq ptlist (cons (trans (list (car pts)(cadr pts)) 1 0) ptlist))
(setq pts (cddr pts))
)
(setq fss (ssget "F" ptlist (list (cons 0 "LINE"))))
(setq axss (vla-get-activeselectionset
(vla-get-activedocument
(vlax-get-acad-object))))
(vlax-for a axss
(setq p1 (vlax-curve-getstartpoint a)
p2 (vlax-curve-getendpoint a)
pc (mapcar (function(lambda(a b)(* (+ a b) 0.5))) p1 p2);mid point of line
dp (vlax-curve-getclosestpointto obj pc)
dist_list (cons (vlax-curve-getdistatpoint obj dp) dist_list)
)
)
(setq sep_list (parse-dist dist_list))
(setq txt_list (mapcar 'vl-princ-to-string sep_list))
(setq txt_file_name (getfiled "Enter file name without extension" (getvar "dwgprefix") "txt" 1))
(setq fn (open txt_file_name "w"))
(setq cnt 1)
(mapcar (function (lambda (x)
(write-line (strcat (itoa cnt) "," x) fn)
(setq cnt (1+ cnt)))
)
txt_list)
(close fn)
)
)
(princ)
)
;;============================wl.lsp=============================;;
我知道你在说什么。我的工作场所有Civil 3D,我对它很熟悉。
然而,这是一个伟大的无私的人谁想要学习新的东西或教其他人编程的好地方。我对Lisp,Visual Lisp,VBA很感兴趣。。。
这就是我想要的。真的很好。
谢谢你,胖子。
如果这是你想要的,我很高兴
快乐计算
~'J'~ 你好,请回答一个简单的问题。
我和贝恩有同样的问题。
一条大的多段线(轴)和轮廓。
如果我想得到轴在
轮廓,然后我必须把轮廓线
在轴上(轮廓线的中点处),
计算起点/起点和终点的中点/
并使用vlax curve getdistatpoint。
有什么简单的方法可以做到这一点吗
(所以我不必把所有的个人资料
在他们的中点)?
谢谢你和问候! 乔治,这还不够清楚
请附上样品图纸或截图
你想要什么
~'J'~ 你好
有没有一种使用VBA的方法??
当做
普里扬卡
你好
有没有一种方法可以让这个例程在3D多边形中工作?我需要一条与地形匹配的多段线。
非常感谢。
页:
1
[2]