| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
| | |
 | ISO GPS und MBD: Eindeutige Produktdaten durchgängig nutzen, ein Webinar am 19.11.2026
|
|
Autor
|
Thema: Part highlight in DraftView (467 mal gelesen)
|
edlich Mitglied Maschinenbautechniker

 Beiträge: 95 Registriert: 15.06.2001 SE St4/Sp4 Win 7 Xeon W3550 (4Core,3,07GHz) Quadro 4000
|
erstellt am: 08. Sep. 2005 11:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte ein kleines Programm schreiben, das mir im Draft nach Eingabe der Pos.-Nummer den zugehörigen Part-Namen sucht, ein Preview zeigt und das Teil in allen Ansichten highlightet. Part-Name und Preview ist kein Problem (siehe Anhang). Aber weiss jemand wie ich in einer DraftView ein Teil highlighten kann ?? Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oliver II Mitglied TZ
 
 Beiträge: 206 Registriert: 26.07.2005
|
erstellt am: 08. Sep. 2005 12:09 <-- editieren / zitieren --> Unities abgeben:          Nur für edlich
Hallo, ich hätte vieleicht eine möglichkeit für dich die ist zwar etwas umständlich aber das Ergebniss zählt. Lege die Baugruppenzeichnung so an, das du jede einzelne Ansicht 2x auf der Zeichnung hast, lege z.B. die beiden Vorderansichten exact übereinander. Die eine Ansicht beläst Du wie sie ist und bei der anderen blendest du nur das Teil ein was du schattiert darstellen willst. In den Eigenschaften dieser Ansicht schaltest du im Karteireite Ansichtenschattierung die Schattierung ein (klappt nur mit einer kompletten Anschicht). Ich lege ein Bild noch bei auf der ich das ausprobiert habe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
edlich Mitglied Maschinenbautechniker

 Beiträge: 95 Registriert: 15.06.2001 SE St4/Sp4 Win 7 Xeon W3550 (4Core,3,07GHz) Quadro 4000
|
erstellt am: 08. Sep. 2005 12:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo Oliver II, das geht von Hand schon so. der Hintergrund für mich ist aber der, dass SE im Draft keine Möglichkeit zur Verfügung stellt, mit der ich Teile finde. Bei 20 Stücklistenpositionen ist das kein Problem. Wenn du aber eine Zeichnung mit 100 Positionen hast und dir das Sternchen in der Stückliste sagt, dass ein Teil nicht positioniert ist geht die Sucherei los. Ich möchte die Pos.-Nummer eingeben und das Teil in allen Ansichten angezeigt haben. Danke 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: 09. Sep. 2005 08:02 <-- editieren / zitieren --> Unities abgeben:          Nur für edlich
|
pablo Mitglied Techniker
 
 Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 09. Sep. 2005 12:12 <-- editieren / zitieren --> Unities abgeben:          Nur für edlich
Hallo Edlich, die Aussage von Jason war wohl auch nicht sehr hilfreich. IMHO geht es nur einzeln und ziemlich langsam, wenn du eine Methode findest, den untenstehenden Code zu verbessern, lass es mich wissen. Ich habe den Filename hardcoded eingefügt. Die Methode, Nodes, bei denen IncludeInPartsList auf False steht, nicht einzublenden ist sehr aufwendig (funktioniert nur über die Assembly Occurrences). Option Explicit Private SEApp As SolidEdgeFramework.Application Private SEDft As SolidEdgeDraft.DraftDocument Private SEHL As SolidEdgeFramework.HighlightSet Private aModMems() As SolidEdgeDraft.ModelMember Private ModMemCount As Long Private Sub Form_Load() Dim i As Long, k As Long Set SEApp = GetObject(, "SolidEdge.Application") Set SEDft = SEApp.ActiveDocument For i = 1 To SEDft.Sheets.Count If SEDft.Sheets(i).SectionType = igWorkingSection Then For k = 1 To SEDft.Sheets(i).DrawingViews.Count RecGetModMem SEDft.Sheets(i).DrawingViews(k).ModelMembers Next End If Next If SEDft.HighlightSets.Count > 0 Then For i = 1 To SEDft.HighlightSets.Count SEDft.HighlightSets(i).Delete Next End If Set SEHL = SEDft.HighlightSets.Add For i = 1 To ModMemCount If aModMems(i).FileName = "SS_DIN933_M12x30.par" Then For k = 1 To aModMems(i).GraphicMembers.Count SEHL.AddItem aModMems(i).GraphicMembers(k) Next End If Next SEHL.Draw Stop SEHL.Delete Erase aModMems Set SEHL = Nothing Set SEDft = Nothing Set SEApp = Nothing End Sub Private Sub RecGetModMem(ByVal ModMems As SolidEdgeDraft.ModelMembers) Dim ModMem As SolidEdgeDraft.ModelMember Dim i As Long For i = 1 To ModMems.Count Set ModMem = ModMems(i) ModMemCount = ModMemCount + 1 ReDim Preserve aModMems(ModMemCount) Set aModMems(ModMemCount) = ModMem Set ModMem = Nothing If ModMems(i).ComponentType = seAssemblyMemberType _ And ModMems(i).ModelMembers.Count > 0 Then RecGetModMem ModMems(i).ModelMembers End If Next End Sub HTH pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
edlich Mitglied Maschinenbautechniker

 Beiträge: 95 Registriert: 15.06.2001 SE St4/Sp4 Win 7 Xeon W3550 (4Core,3,07GHz) Quadro 4000
|
erstellt am: 09. Sep. 2005 13:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo pablo, ich hab's mal laufen lassen. Das ist genau das, was ich gesucht hab. Ich seh mal zu, dass ich das noch schneller kriege. Muss doch irgendwie gehen. Die Funktionalität ist schliesslich in den Ansichteneigenschaften drin. Wenn ich soweit bin melde ich mich. erstmal herzlichen Dank. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |