Autor
|
Thema: Punktenamen und Layerbelegung auslesen (1203 mal gelesen)
|
Tonga Mitglied CADM Prozesskommunikation, CAD Konstrukteur, Admin
Beiträge: 214 Registriert: 23.01.2004
|
erstellt am: 07. Mai. 2009 09:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich will in CATIA Messpunkte auslesen. Aber nur den Punktenamen und die Layerbelegung des Punktes. Die Namen der Punkte bekomme ich schon ausgelesen, aber die Layerbelegung nicht. Kann mir bitte einer sagen wie das geht. Danke euch im vorraus! Gruß Tonga 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: 07. Mai. 2009 09:23 <-- editieren / zitieren --> Unities abgeben: Nur für Tonga
Servus Gemäß Doku könnte es mit den "VisPropertySet" gehen. Dabei gibt es die Methode "GetLayer" (AFAIK Punkt in eine Selektion packen und "GetLayer" der Selektion auslesen) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 07. Mai. 2009 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für Tonga
Hallo, ich habe ergänzend zu den Antwort von Bernd einen kleinen Codeschnipsel für dich. Code:
Sub CATMain() Dim oDoc As PartDocument Dim oPart As Part Dim oSel As Selection Dim oHybBodies As hybridBodies Dim oHybShapes As HybridShapes Dim oHybBody As HybridBody Dim oPoint As HybridShapePointCoord Dim myVisProp Dim myName As New Collection Dim layer layer = CLng(0) Dim layertype As CatVisLayerType Dim myLayer As New Collection Dim myLayerString As String myLayerString = "Kein Layer zugewiesen" Set oDoc = CATIA.ActiveDocument Set oSel = oDoc.Selection oSel.Clear Set oPart = oDoc.Part Set oHybBodies = oPart.hybridBodies Set oHybBody = oHybBodies.Item(1) Set oHybShapes = oHybBody.HybridShapes For i = 1 To oHybShapes.Count Set oPoint = oHybShapes.Item(i) myName.Add oPoint.Name oSel.Add oPoint Set myVisProp = oSel.VisProperties myVisProp.GetLayer layertype, layer If layertype = catVisLayerNone Then myLayer.Add myLayerString Else myLayer.Add layer End If oSel.Clear Next End Sub
Die Punktenamen werden in der Collection myName gespeichert und die Layer simultan in der Collection myLayer. Die beiden Collection´s kannst du im Anschluss auswerten und weiter verarbeiten ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|