我相信OP正在尝试使用AECCIPE对象。以上方法适用于直线、圆弧等。但遗憾的是,它们不适用于AECCIPE对象。
线的起点和终点是#,它与vlax get和vlax put一起工作。
另一方面,AECCIPE的起点和终点是#。
我能够检索AECCIPE的起点和终点的唯一方法是使用以下代码:
- (setq p0 (vlax-safearray->list (vlax-variant-value (vlax-get-property pipe 'PointAtParam 0)))) ;For the startpoint
- (setq p1 (vlax-safearray->list (vlax-variant-value (vlax-get-property pipe 'PointAtParam 1)))) ;For the endpoint
要设置起点和终点的值,请使用:
- (vlax-invoke-method pipe 'SetStartAndEndPoints (vlax-3d-point p0)(vlax-3d-point p1))
(p0和p1的值当然是XYZ的列表。)
请注意,起点和终点是管道的中心。要获得管道的反向高程,需要检索InnerDiameterWidth属性并进行一些数学计算。
当做
hippe013 |