Article | 41023415 |
Type | HowTo |
Product | Engine |
Version | 4.x |
Date Added | 1/28/2004 |
Submitted by | Mario Pellegrino |
Keywords |
How to extend a line for example to a circle using CmdExtends?
See the Visual basic sample code below :
Dim CerchioTmp As vdCircle Dim LineaTmp As vdLine Dim PointTMP As vdxyzlist Dim RetTmp As Boolean Dim extpoint As Variant Dim intpoint As Variant Set PointTMP = VDPro1.CreateInstance(OBJ_XYZLIST) VDPro1.ActiveDocument.New Set CerchioTmp = VDPro1.ActiveDocument.Entities.AddCircle(Array(133.1662479, 50), 56) CerchioTmp.Invalidate Set LineaTmp = VDPro1.ActiveDocument.Entities.AddLine(Array(100, -4), Array(0, -4)) LineaTmp.Invalidate VDPro1.CommandAction.Zoom "E", 0, 0 PointTMP.Value = LineaTmp.IntersectWith(CerchioTmp, VdIntExtendThis) 'Seek for intersection points If IsEmpty(PointTMP) Then Exit Sub intpoint = PointTMP(0).Value extpoint = LineaTmp.EndPoint If VDPro1.Utility.geomDistance(LineaTmp.StartPoint, intpoint) < VDPro1.Utility.geomDistance(LineaTmp.EndPoint, intpoint) Then 'Check if the line startpoint is closer to intersection point than endpoint or not extpoint = LineaTmp.StartPoint End If RetTmp = VDPro1.CommandAction.CmdExtend(CerchioTmp, Array(LineaTmp, VDPro1.Utility.geomMidPoint(LineaTmp.StartPoint, extpoint))) Set CerchioTmp = Nothing Set LineaTmp = Nothing