Civil 3d 要素线高程缩放
QQ群中有群友提出一个问题:
要素线高程批量缩放10倍,能实现吗?
我的回答是:能!
怎么实现呢?
内部功能貌似不行,
只能自己写代码了。
为了方便使用,
我lisp来实现,
优势:
不用编译,
各版本通用,
不用为升级发愁。
代码分享在此,
有需要的朋友可以下载存为lsp文件,
使用ap命令加载后,
输入命令flscale后选择要素线,
即可将要素线高程放大10倍。
(defun c:Flscale () (princ "\n选择要素线: ") (setq ss (ssget '((0 . "AECC_FEATURE_LINE")))) (setq n (sslength ss)) (setq i 0) (while (< i n) ;;;Get Object from SelectionSet (setq fl (vlax-ename->vla-object (ssname ss i))) ;;;Get All Points (3) | (1)=PI Points (2)=Elevation Points (setq pnts (vlax-safearray->list (vlax-variant-value (vlax-invoke-method fl 'GetPoints 3)) ) ) (setq pCount (length pnts)) (setq j 0) (while (< j pCount) (setq p (list (nth j pnts) (nth (+ j 1) pnts) (* 10 (nth (+ j 2) pnts)) ) ) ;;;Set the Elevation (vlax-invoke-method fl 'SetPointElevation (vlax-3d-point p)) (setq j (+ 3 j)) ) (setq i (+ 1 i)) ) )
标签:
Civil3d
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?