| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Occurrences in Pattern unterdrücken (746 mal gelesen)
|
Mrole Mitglied
Beiträge: 118 Registriert: 02.04.2003
|
erstellt am: 15. Jul. 2009 16:39 <-- editieren / zitieren --> Unities abgeben:
Hallo SE-Spezialisten, bei einem Muster kann man nachträglich aus der Anzahl an Elementen eine beliebige Anzahl Elemente unterdrücken. Über API bekomm ich aber nur die NumberOfOccurrences, also ohne die unterdrückten zu berücksichtigen. In der Hilfe hab ich getOccurrence gefunden, das geht aber so nicht: Set objPatternOccur = objPattern.GetOccurrence(occurrence:=5) Zudem versteh ich nicht ganz, was objPatternOccur enthalten soll? Ich dachte, die unterdrückten Elemente sollten auch irgendwo registriert sein? Vielleicht kann mir jemand helfen, wäre echt super, Danke schon mal!! Grüße Roland
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 15. Jul. 2009 17:58 <-- editieren / zitieren --> Unities abgeben: Nur für Mrole
Set objPatternOccur = objPattern.GetOccurrence(occurrence:=5) kann nicht funktionieren da das weitere Argument fehlt und der Aufruf falsch ist Dim objFeat() As Object call objPattern.GetOccurrence(occurrence:=5, Features:=objFeat) in diesem Array sind alle Features die eine Occurrence ausmachen enthalten. (Ein Pattern kann mehrere Features umfassen) So ware eine Abfrage oder ein Unterdruecken moeglich
Code:
Dim objPats As SolidEdgePart.Patterns Dim objPat As SolidEdgePart.Pattern Set objPats = mPart.Models.Item(1).Patterns For Each objPat In objPats For i = 0 To objPat.NumberOfOccurrences - 1 If objPat.Suppressed(i) Then MsgBox "In Pattern: " & objPat.DisplayName & " Occurrence << " _ & i+1 & " >> is suppressed" Else ' ' coding fuer suppress (Anzahl beachten!) ' End If Next i Next objPat
Geht aber nicht fuer Sync.-Parts da ein Pattern im Sync.-Part die Methode GetOccurrence nicht kennt
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mrole Mitglied
Beiträge: 118 Registriert: 02.04.2003
|
erstellt am: 15. Jul. 2009 22:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke, die Zeile war aus den Hilfe-Beispielen, war wohl nicht ganz richtig angegeben... Soweit komm ich mit, aber ich glaub, ich hab mein Problem nicht ganz glücklich formuliert: In der SE-Hilfe gibt es angehängte Beschreibung zum manuellen Unterdrücken von Occurrences eines Pattern. Damit kann eine Regelmäßigkeit der Mustererzeugung manuell unterbrochen werden, soweit hervorragend. Die tatsächlich erzeugte Anzahl z.B. einer gemusterten Bohrung entspricht aber nicht mehr der NumberOfOccurrences, sondern abzüglich der unterdrückten Elemente (in der Hilfe beschrieben mit dem Button der RibbonBar). Beispiel: eine einfache Bohrung wird über ein Kreismuster entlang eines Lochkreises gemustert. Es ist also nur ein Feature vorhanden, das für das Muster gewählt wird. Klar könnten beliebig viele gewählt werden(NrOfInputFeatures). Das regelmäßige Muster soll unterbrochen werden, dazu können einzelne Bohrungen des Musters unterdrückt werden, aber das kann ich im Programm nicht mehr feststellen, oder? - das ist eben nicht mehr die NrOfOcc. Ich kann auch keine Flächen finden, die die Anzahl der real gemusterten Elemente wiederspiegeln. Bin etwas ratlos, oder doch nur zu doof? VG Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 15. Jul. 2009 23:30 <-- editieren / zitieren --> Unities abgeben: Nur für Mrole
die NumberOfOccurrences enthaelt *alle* Elemente. Im meinem Code- schnipsel ist auch die Abfrage auf Suppressed oder nicht enthalten. Allerdings: - funzt einwandfrei bei Kreismuster - funzt bei Linearmuster nur fur unterdrueckte Elemente in der ersten Y-Reihe: Muster 3 x 3 und jetzt ein Element aus einer beliebigen Reihe ausser der ersten unterdruecken wird nicht angezeigt. Das durfte WAD sein, ist naemlich in der V18 auch schon so. Al unbedarfte Anwender halte ich es jedoch fuer einen Fehler. [Diese Nachricht wurde von modeng am 16. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mrole Mitglied
Beiträge: 118 Registriert: 02.04.2003
|
erstellt am: 16. Jul. 2009 08:56 <-- editieren / zitieren --> Unities abgeben:
Hallo, hast natürlich recht, das geht, suppressed ist halt doch was anderes als suppress.. Für uns ist erstmal das Kreismuster ausreichend, das ist soweit okay. Hab auch gesehen, dass so auch die Edges und Faces abrufbar sind. Danke nochmals! Grüße Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 16. Jul. 2009 09:01 <-- editieren / zitieren --> Unities abgeben: Nur für Mrole
> hast natürlich recht, das geht, suppressed ist halt doch was anderes als suppress.. jau, das unterdrueckt das gesamte Pattern. Nebenbei: <obj>.Suppressed soll man ja auf True setzen koennen um ein Musterelement zu unterdruecken -- geht auch nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |