Autor
|
Thema: Boundary Darstellung Probleme (504 / mal gelesen)
|
Sylas Mitglied
Beiträge: 322 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 26. Apr. 2019 11:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute Als Teil etwas großer, ich möchte ein Boundary erstellen. Ich habe etwas mit Makro-recorder gekriegt, und was funktioniert mir nicht ist .From oder .To Methode. Ich meine: bei gespeichertes Makro func es - bei meine Nein Später, ich will auf die jede Boundary z.B. 10 Punkte erstellen, Linien zwischen diese Punkte erstellen, eine Projection von dem Linien auf oFace machen, Mittelpunkte für jedes Projection machen, und Mittelpunkten als input für Spline nehmen Kurtz sagen: meine Makro soll eine approximierte Kurve aus zwei Kanten erstellen Meine Makro unter: Code: Sub CATMain() ' Dieses Makro erstellt zur Zeit nur ein Boundary aus genimmtes 'Kante und zwei Punkte aus 3D. Dim oSel As Selection Set oSel = CATIA.ActiveDocument.Selection Dim dSel As Object Set dSel = oSel Dim InputObjectType(0)InputObjectType(0) = "HybridShapeSurfaceExplicit" Status = dSel.SelectElement2(InputObjectType, "Wybierz powierzchnie", False) Dim oFace_ref As Reference Set oFace_ref = dSel.Item(1).Reference Dim oFace As HybridShapeSurfaceExplicit Set oFace = dSel.Item(1).Value dSel.Clear InputObjectType(0) = "TriDimFeatVertexOrBiDimFeatVertex" Status = dSel.SelectElement2(InputObjectType, "Wybierz punkt poczatkowy krawedzi", False) Dim oRef_1 As Reference Set oRef_1 = dSel.Item(1).Reference Set oPT1 = dSel.Item(1).Value dSel.Clear Status = dSel.SelectElement2(InputObjectType, "Wybierz punkt koncowy krawedzi", False) Dim oRef_2 As Reference Set oRef_2 = dSel.Item(1).Reference dSel.Clear Dim HBody As HybridBody Set HBody = oFace.Thickness.Parent.Parent Dim oHSF As HybridShapeFactory Set oHSF = CATIA.ActiveDocument.Part.HybridShapeFactory Dim oBoundary As HybridShapeBoundary Set oBoundary = oHSF.AddNewBoundaryOfSurface(oFace) HBody.AppendHybridShape oBoundary CATIA.ActiveDocument.Part.Update oBoundary.From = oRef_2 oBoundary.FromOrientation = 1 oBoundary.To = oRef_1 oBoundary.ToOrientation = 1 End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 26. Apr. 2019 15:44 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
Servus Das liegt wohl daran dass die Reference für die Vertex-Punkte nicht passt (vergleiche oRef_1.Name mit dem BREP aus der der Makroaufzeichnung) Vorschlag für eine Alternativlösung (falls ich dein übergeordnetes Problem richtig verstanden habe): Boundary erstellen, Boundary selektieren, per Suche die "Linienabschnitte" suchen (Topology.CGMEdge), die einzelnen Abschnitte ableiten (Extract), und dann auf jedem Extract die Punkte erstellen usw. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|