天正8.2以后的版本怎么取得直墙线两端点坐标?dxf数据只有10组码坐标,11组码没有了。
天正8.2以后的版本怎么取得直墙线两端点坐标?dxf数据只有10组码坐标,11组码没有了。8.2版的dxf数据
选择对象:
(-1 . <图元名: 7833f0e0>)
(0 . "TCH_WALL")
(330 . <图元名: 7ef67c10>)
(5 . "314")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "WALL")
(100 . "TDbCurveEntity")
(46 . 0.0)
(47 . 100.0)
(68 . 0)
(100 . "TDbWall")
(38 . 0.0)
(39 . 3000.0)
(10 11496.0 14750.0 0.0)
(11 17227.3 16381.5 0.0)
(40 . 100.0)
(41 . 100.0)
(42 . 80.0)
(148 . 0.0)
(149 . 3000.0)
(50 . 0.0)
(73 . 0)
(74 . 40)
(75 . 0)
(90 . 0)
(76 . 0)
(411 . "PUB_HATCH")
(412 . "0")
(413 . "0")
(414 . "0")
(1 . "")
(2 . "")
(Vlax-Get (Vlax-Ename->Vla-Object (car (entsel)))'Hvac_start);查询天正风管起点坐标
(Vlax-Get (Vlax-Ename->Vla-Object (car (entsel)))'Hvac_end); 查询天正风管终点坐标 (Vlax-Get (Vlax-Ename->Vla-Object (car (entsel))) 'LeftWidth)左墙厚度
这个在新版本的天正里面可以(亲测天正20可以),但是就版本如天正2014不可以。 天正8.5版的dxf数据:
选择对象:
(-1 . <图元名: 7ef6a368>)
(0 . "TCH_WALL")
(330 . <图元名: 7ef68c10>)
(5 . "185")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "WALL")
(100 . "TDbCurveEntity")
(46 . 0.0)
(47 . 100.0)
(68 . 0)
(100 . "TDbWall")
(38 . 0.0)
(39 . 3000.0)
(10 29921.1 21448.7 0.0)
(41 . 120.0)
(42 . 80.08)
(148 . 0.0)
(149 . 3000.0)
(50 . 0.0)
(73 . 0)
(74 . 40)
(75 . 0)
(90 . 0)
(76 . 0)
(411 . "PUB_HATCH")
(412 . "0")
(413 . "0")
(414 . "0")
(1 . "")
(2 . "")
真是没有11组码了
给你个变通的方法,先炸开墙,取得一条墙线的2点坐标,通过墙厚、角度换算为天正墙体的2端点坐标,然后用command u回去(即恢复炸开之前的状态),然后继续执行你的代码 这是个办法,但是大量操作的时候要崩溃、 查下组码330的图元是啥东东。 找到解决方法没有? (vlax-curve-getEndPoint obj)
(vlax-curve-getStartPoint obj) 没有接触过天正软件,我先想到的也是8楼的办法,不过看它的411组码,又觉得不一定能成功
为什么天正软件它会跟真正的CAD出入这么大,它是一个独立于AUTOCAD单独存在的还是象南方cass一样以AUTOCAD为平台 天正7之后基本就没变过,LISP接口越来越差。呵呵。天正在吃自己的老本。