2016-03-24 2 views
1

Je suis novice en programmation catia et vba.vba catia v5 R24 début et fin des bords

J'ai essayé d'obtenir des extrémités de début à partir des bords, pour calculer les points d'interception.

Il est facile pour RectilinearTriDimFeatEdge il fournit une méthode GetOrigin et getDirection où point final peut être calculé par origin + length * direction. Mais pour d'autres types comme BiDimFeatEdge je n'ai même pas le point d'origine.

Existe-t-il un moyen d'obtenir des points de départ et d'arrivée à partir de tous les types d'arêtes? Merci

Répondre

2

pour les courbes ouvertes, vous pouvez simplement mettre le point de chaque côté de la courbe avec une telle fonction, où iCurve est votre entrée, et iBeginEnd est de passer de quel côté vous le souhaitez.

Private Function endPoint(iCurve As Reference, Optional iBeginEnd As Boolean = False) As HybridShapePointOnCurve 
    Set endPoint = CATIA.ActiveDocument.Part.HybridShapeFactory.AddNewPointOnCurveFromDistance(iCurve, 0#, iBeginEnd) 
End Function 

ou vous pouvez utiliser extremum dans la direction désirée

cela ne marchera pas bien sûr pour les courbes fermées car ils n'ont pas de points de début et de fin, mais si vous avez besoin d'une solution pour ceux, demandez ..

Si vous souhaitez simplement obtenir la longueur d'un objet, il existe une méthode de mesure plus simple.