| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
| | |
 | Success Story: Kanzler Verfahrenstechnik GmbH , ein Anwenderbericht
|
|
Autor
|
Thema: Visual Basic die Zweite (819 mal gelesen)
|
amg13 Mitglied
  
 Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 06. Mai. 2004 12:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, ich hab folgendes Problem komme aber auf absolut keinen Grünen Zweig. Ich habe ein Zeichnungsableitung von einem ASM (vier Ansichten) nun möchte ich mit VB (VBA) abfragen welche Ballons in einer freiwählbaren Ansicht positioniert sind. Fragen: A) wie muss programieren, damit ich mit der Maus die Ansicht wählen kann, um diese an das programm zuübergeben. (kleiner quellcode wäre net, mit dem ...\coustom\mouse komm ich nicht zurecht) B) ich finde keinen Parameter der mir darüber auskunft gibt an welcher Ansicht welcher Ballon platziert ist. Es wäre schön wenn Ihr ne Idee hättet. MfG AMG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Gras Moderator Solid Edge AE
       
 Beiträge: 4684 Registriert: 20.07.2000 Kritik muß sachlich falsch und persönlich verletzend sein, damit sie wirkt.
|
erstellt am: 06. Mai. 2004 12:20 <-- editieren / zitieren --> Unities abgeben:          Nur für amg13
Hallo AMG, die prinzipielle Vorgehensweise ist folgende. Zu prüfst zunächst ab ob der Anwender geklickt hat. Danach fragts Du das 'SelectSet' ab, das enthält die Objekte die gerade markiert sind. Jetzt prüfst Du ob eine Ansicht dabei ist, wenn ja nimmst Du die und suchst Dir dazu die 'Balloons' raus.
------------------ Gruß Markus Gras Unitec Informationssysteme GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
  
 Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 06. Mai. 2004 13:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo Marcus, prinzipiell ist mir die Vorgehens weise schon klar. Ich hab mit Programierung bisher nicht viel am hut gehabt. Meistens waren es so kleine tools ohne Benutzer interaktion. Deshalb wäre ein Beispiel für diese "Klickabfrage" eine große Hilfe für mich. Die Prfüfung ob eine Ansicht dabei ist würde ich schon hinbekommen. Wie finde ich die dazugehörigen Ballons herraus. Ich finde einfach kein Unterscheidungsmerkmal an dem ich die Balloons selektieren könnte, er liefert mir immer, in meinem Fall 64 Ballons zurück, dass sind alle die auf dem Zeichenblatt positioniert sind. Hast Du da ne Idee? MfG AMG Jetzt prüfst Du ob eine Ansicht dabei ist, wenn ja nimmst Du die und suchst Dir dazu die 'Balloons' raus.
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: 06. Mai. 2004 13:16 <-- editieren / zitieren --> Unities abgeben:          Nur für amg13
|
pablo Mitglied Techniker
 
 Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 06. Mai. 2004 13:30 <-- editieren / zitieren --> Unities abgeben:          Nur für amg13
Hallo amg13, zu A Private Sub Command1_Click() Dim SelDW As SolidEdgeDraft.DrawingView 'objDft (Draft-Dokument) ermitteln ... If GetSelectDrawingView(objDft, SelDW) Then MsgBox SelDW.Name End If End Sub Die Funktion gibt die ausgewählte Ansicht an SelDW weiter: Private Function GetSelectDrawingView(ByVal SEDft As SolidEdgeDraft.DraftDocument, _ ByRef SelDW As SolidEdgeDraft.DrawingView) As Boolean On Error GoTo ErrorHandler If SEDft.SelectSet.Count <> 1 Then Exit Function If SEDft.SelectSet(1).Type = igDrawingView Then Set SelDW = SEDft.SelectSet(1) GetSelectDrawingView = True End If ErrorHandler: End Function zu B das liegt daran, das es keinen gibt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
  
 Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 06. Mai. 2004 13:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo pablo, danke für den code, werde ich mich gleich mal drüber machen. hast Du vielleicht ne Idee wie man herrausfindet an welcher View welcher balloon hängt. Irgend wie muss das doch möglich sein, oder? cya AMG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
 
 Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 06. Mai. 2004 16:38 <-- editieren / zitieren --> Unities abgeben:          Nur für amg13
hallo amg13, dafür gibt es keine Möglichkeit, du kannst mit den Rangeobjekten der Views und des Balloons arbeiten, wahrscheinlich ist die Trefferquote ziemlich hoch, aber eine Verbindung zwischen View und Balloon gibt es leider nicht. pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
  
 Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 07. Mai. 2004 11:47 <-- editieren / zitieren --> Unities abgeben:         
Hallo pablo, wie meinst Du das mit den Rangeobjekten (ich bin ein absoluter Anfänger im bereich Programieren). Kennst du eine Möglichkeit wie ich z.B. das element abfragen kann an dem die Positionsnummer hängt. So das ich anschließend über dieses Object die Verknüfung zur View bekomme. Danke, AMG 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: 07. Mai. 2004 12:05 <-- editieren / zitieren --> Unities abgeben:          Nur für amg13
|
amg13 Mitglied
  
 Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 07. Mai. 2004 12:22 <-- editieren / zitieren --> Unities abgeben:         
versteh ich das richtig, ich kann den bogen, linie usw... an der der Balloon hängt ermitteln. Es gibt aber keine möglichkeit heraus zufinden in welcher View sich diese Linie befindet. Hm, das ist nicht wirklich schön. Verratet ihr mir wie ich das element herraus finde an dem ein Ballon hängt? Mahlzeiz, AMG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
 
 Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 07. Mai. 2004 12:30 <-- editieren / zitieren --> Unities abgeben:          Nur für amg13
Hallo amg13, Public Sub GetDWfromBalloon() Dim objApp As SolidEdgeFramework.Application Dim oBalloon As SolidEdgeFrameworkSupport.Balloon Dim X As Double, y As Double, Z As Double Dim bKeypoint As Boolean Dim Terminator As Object Dim GraphicMember As Object Dim DrawingView As SolidEdgeDraft.DrawingView Set objApp = GetObject(, "SolidEdge.Application") If objApp.ActiveDocument.SelectSet(1).Type = igBalloon Then Set oBalloon = objApp.ActiveDocument.SelectSet(1) Else Exit Sub End If With oBalloon Call oBalloon.GetTerminator(Terminator, X, y, Z, bKeypoint) Set GraphicMember = Terminator.object Set DrawingView = GraphicMember.DrawingView Debug.Print DrawingView.Name End With End Sub sollte das erledigen, was du willst. pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
  
 Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 07. Mai. 2004 14:32 <-- editieren / zitieren --> Unities abgeben:         
|