Hallo...
ich verzweifel gerade...ich programmiere eine Makro mit C# (.dotNet) und versuche einfach nur ein Winkel zwischen einer Ebene (entweder einer Plane oder einer Ebene vom Achsensystem) mit einer Linie (Projection) zu messen. In der Methode sind r1,r2 und r3 enthalten. wenn ich zwischen Reference2(r2) und r3 messe funktioniert alles, nur misst er nicht die Ebenen mit der Kurve also zb zwischen r1 und r2 :-(
public static void measureAngleOfCurvesToNullDegreeDirection()
{
PartDocument partDocument1 = (PartDocument)oCATIA.ActiveDocument;
Part part1 = partDocument1.Part;
object g = "ggg";
object l = "Project.167";
object plane = "Plane.198";
object k = (int)1;
string SPAWB = "SPAWorkbench";
object axisSystem = "Rosette";
string u = "RSur
Face
Brp
AxisSystem.2;1);None
);Cf11
));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)";
SPAWorkbench TheSPAWorkbench = (SPAWorkbench)oCATIA.ActiveDocument.GetWorkbench(ref SPAWB);
Measurable ma1, ma2;
Reference r1, r2, r3;
double angle;
HybridBodies hybridBodies1 = part1.HybridBodies;
HybridBody hybridBody1 = hybridBodies1.Item(ref g);
HybridShapes hybridShapes1 = hybridBody1.HybridShapes;
HybridShapeProject hybridShapeProject1 = (HybridShapeTypeLib.HybridShapeProject)hybridShapes1.Item(ref l);
HybridShape hybridShape1 = hybridShapes1.Item(ref k);
HybridShapePlaneOffset hybridShapePlaneOffset1 = (HybridShapeTypeLib.HybridShapePlaneOffset)hybridShapes1.Item(ref plane);
AxisSystems axisSystems1 = part1.AxisSystems;
AxisSystem axisSystem1 = axisSystems1.Item(ref axisSystem);
r1 = part1.CreateReferenceFromObject(hybridShapeProject1);
r2 = part1.CreateReferenceFromObject(hybridShapePlaneOffset1);
r3 = part1.CreateReferenceFromBRepName(ref u, axisSystem1);
ma1 = TheSPAWorkbench.GetMeasurable(r1);
angle = ma1.GetAngleBetween(r3);
MessageBox.Show(angle.ToString());
}
hoffe mir kann irgendjmd einen tipp geben , wodran es liegen könnte....
Vielen Dank!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP