言戲無軍 发表于 2017-9-10 15:33
写的粗糙,貌似可用
谢谢你!命令是{:1_1:}
加载后会提示gcdtopmx
有软件锁的才有,有的时候用到盗版的就没有这功能了
没有提示,你说的命令用不了
本人莱鸟,网上找的。请高手修正。
blocktopmx
jhzlx 发表于 2017-9-23 09:07
本人莱鸟,网上找的。请高手修正。
解决了吗,楼主的问题
不错的工具 支持
;程序-移动高程点至断面线上
;程序较小,附源码,有注释
(DEFUN C:TT () (C:MGC))
( defun C:MGC (/pt sl pd) ; 垂直移动高程点到断面线上的程序,
; appload 加 载 后,运 行 mgc 命 令 即 可,The pro- gram written by wang shaowen
( setqsl( entsel "\n选择横断直线:" ) )
( if ( null vlax-dump-object) ( vl-load-com) ); 加载 vlax 扩展函数
( setq sl ( vlax-ename->vla-object ( car sl) ) ); 转换直线为 vla 对象
( setq en T) ;对象为 T 值,t 为常量,非 NiL 值 ( while en ; 循环语句
( while( not ( setq en ( entsel" \n选择高程点 :" ) ) ) ); 循环选择,过滤空选
( setq en_data ( entget ( car en) ) ); 取得元体资料列表
( setq pt ( cdr ( assoc 10 en_data) ) ); 求得高程点坐标 pt
( setqpd ( vlax-curve-getclosestpointtosl pt) ); 求出直线上距选择点最近的点
( setqpd1 ( list ( car pd )( cadr pd )( caddr pt) ) ); 改变 Z 值,避免 0 值
( command "_move" en "" pt pd1)
(princ)
)
(prompt "\n高程点垂直移动到横断直线 ")
(princ)
感谢分享。。。。。。。。。。。。。。。。。