| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | KISTERS 3DViewStation: Mit Modellbasiertem Design zum Modellbasierten Unternehmen , eine Pressemitteilung
|
Autor
|
Thema: Boundary Darstellung Probleme (689 / mal gelesen)
|
Sylas Mitglied
 
 Beiträge: 349 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: 12054 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 >>)
 |