Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  VB.Net Makro - PathFinder nicht aktualisieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge
Autor Thema:  VB.Net Makro - PathFinder nicht aktualisieren (1649 mal gelesen)
Andy313
Mitglied
Konstruktöör


Sehen Sie sich das Profil von Andy313 an!   Senden Sie eine Private Message an Andy313  Schreiben Sie einen Gästebucheintrag für Andy313

Beiträge: 212
Registriert: 10.02.2005

Solid Edge ST10 mit CIM Database (von Contact)
Windows 10 64bit
Intel Xeon E5-1620 v2 (3.7Ghz)
16 GB RAM / SSD HD

erstellt am: 13. Jun. 2016 11:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen

ich erstelle gerade ein Makro in VB.Net für Solid Edge ST8.
Nun habe ich ein "For Eache" Schleife drin die jedes Teil durchgeht und gewisse Sachen macht.
Nun ist das Macro relativ langsam, vorallem bei grösseren Baugruppen.
Das Problem wird sein das Solid Edge alles darstellt was während des Makros so gemacht wird.
Das 3D Fenster kann man mit "MySE.Application.ScreenUpdating = False" gestoppt werden, damit es während des Makros nicht updated.
Das Problem ist jetzt noch der PathFinder.
Wisst Ihr da eventuell eine Porperty für den PathFinder oder für die ganze Application?

Andy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Zeitbeißer
Moderator
CAD-Ko­ry­phäe




Sehen Sie sich das Profil von Zeitbeißer an!   Senden Sie eine Private Message an Zeitbeißer  Schreiben Sie einen Gästebucheintrag für Zeitbeißer

Beiträge: 2646
Registriert: 25.06.2014

Die Computerrevolution ist vorbei - sie haben gewonnen.

erstellt am: 13. Jun. 2016 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andy313 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andy313:
[...]
Wisst Ihr da eventuell eine Porperty für den PathFinder oder für die ganze Application?
[...]

Warum Solid Edge überhaupt sichtbar machen?? -> Evtl. ist es schneller wenn nicht angezeigt...

"objApp.Visible = False"

So als erste Idee...

------------------

Nichts ist mächtiger als eine Idee, deren Zeit gekommen ist.
Victor Hugo
------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andy313
Mitglied
Konstruktöör


Sehen Sie sich das Profil von Andy313 an!   Senden Sie eine Private Message an Andy313  Schreiben Sie einen Gästebucheintrag für Andy313

Beiträge: 212
Registriert: 10.02.2005

Solid Edge ST10 mit CIM Database (von Contact)
Windows 10 64bit
Intel Xeon E5-1620 v2 (3.7Ghz)
16 GB RAM / SSD HD

erstellt am: 13. Jun. 2016 13:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das ist eine gute Idee, bin aber auch schon drauf gekommen.
Und irgendwie bringt es nicht viel.
Ich muss da wohl etwas genauer werden; ich möchte Teile ein und ausblenden anhand des Pfades und des Namens.
Wenn ich 250 Teile einbelnden will geht es mit dem Macro 51.53 Sek.
Mit "Visible = True / ScreenUpdating = False": 28.71 Sek.
und mit "Visible = False / ScreenUpdating = False": 24.78 Sek.
Wenn ich in Solid Edge die Teile von hand auswähle und alle miteinander ausblende geht der vorgang knappe 2 Sek.
Also entweder updated er den Pathfinder auch mit "Visible = False" oder das einzelne ausblenden der Teile dauert einfach so lange und ich sollte mit dem "SelectSet" arbeiten. Nur weis ich nicht wie ich ein ganzes SelectSet ohne For Eache Loop ausblenden kann.. 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

Win10
Office 365
SE 2019

erstellt am: 13. Jun. 2016 14:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andy313 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andy313:
Nur weis ich nicht wie ich ein ganzes SelectSet ohne For Eache Loop ausblenden kann.. 

Hast Du es mit SelectSet.SuspendDisplay versucht?

pablo

------------------
PST => Parametersteuerung für Solid Edge
TB Haberl

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Zeitbeißer
Moderator
CAD-Ko­ry­phäe




Sehen Sie sich das Profil von Zeitbeißer an!   Senden Sie eine Private Message an Zeitbeißer  Schreiben Sie einen Gästebucheintrag für Zeitbeißer

Beiträge: 2646
Registriert: 25.06.2014

Die Computerrevolution ist vorbei - sie haben gewonnen.

erstellt am: 13. Jun. 2016 14:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andy313 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andy313:
[...] Nur weis ich nicht wie ich ein ganzes SelectSet ohne For Eache Loop ausblenden kann..  

Occurences.visible=False

------------------

Nichts ist mächtiger als eine Idee, deren Zeit gekommen ist.
Victor Hugo
------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andy313
Mitglied
Konstruktöör


Sehen Sie sich das Profil von Andy313 an!   Senden Sie eine Private Message an Andy313  Schreiben Sie einen Gästebucheintrag für Andy313

Beiträge: 212
Registriert: 10.02.2005

Solid Edge ST10 mit CIM Database (von Contact)
Windows 10 64bit
Intel Xeon E5-1620 v2 (3.7Ghz)
16 GB RAM / SSD HD

erstellt am: 13. Jun. 2016 15:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für eure Antwort, leider geht es länger die Teile einzeln in ein SelectSet zu tun =(
Auch mit Visible=False geht es 1 Min 49 Sek.
Das Problem ist das er die Multifunktionsleiste nach jedem selektieren aktualisiert, und die auch anzeigt wen SE nicht sichtbar ist..
Irgendwie sollte es doch möglich sein alle Aktualisierungen für die dauer des Makros zu unterbrechen..
Wie im Excel mit "Application.Screenupdate = False"
Falls ich eine Lösung finde werde ich sie hier rein schreiben.

Edit: ok nun habe ich eine einigermassen zufriedenstellende Lösung gefunden (325 Teile in 9.9 Sek.):
Hier der Code:
'Ausserhalb Sub
Public MySE As SolidEdgeFramework.Application, mySedoc As Object, myAssembly As SolidEdgeAssembly.AssemblyDocument

'in Sub
MySE = GetObject(, "Solidedge.Application")

myAssembly = MySE.ActiveDocument
myAssembly.UpdatePathfinder(3) 'seSuspend
MySE.Application.ScreenUpdating = False

'tu irgendwas cooles

myAssembly.UpdatePathfinder(4) 'seResume
MySE.Application.ScreenUpdating = True

[Diese Nachricht wurde von Andy313 am 13. Jun. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


Sehen Sie sich das Profil von Arne Peters an!   Senden Sie eine Private Message an Arne Peters  Schreiben Sie einen Gästebucheintrag für Arne Peters

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 13. Jun. 2016 18:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andy313 10 Unities + Antwort hilfreich

Was ist mit DelayCompute?


------------------
Arne

[Diese Nachricht wurde von Arne Peters am 13. Jun. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andy313
Mitglied
Konstruktöör


Sehen Sie sich das Profil von Andy313 an!   Senden Sie eine Private Message an Andy313  Schreiben Sie einen Gästebucheintrag für Andy313

Beiträge: 212
Registriert: 10.02.2005

Solid Edge ST10 mit CIM Database (von Contact)
Windows 10 64bit
Intel Xeon E5-1620 v2 (3.7Ghz)
16 GB RAM / SSD HD

erstellt am: 14. Jun. 2016 15:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Arne

Wie verwendet man das?
So?

MySE.Application.DelayCompute = True
'tu was..
MySE.Application.DelayCompute = False

Hat bei mir nichts gebracht.

Aber grundsätzlich bin ich mit der Geschwindigkeit der letzten Lösung die ich geschrieben habe zufrieden. Somit ist für mich das Thema erledigt.
Mich nimmt nur Wunder was das "DelayCompute" dann genau macht.
Habe nur das gefunden: http://dl2.plm.automation.siemens.com/solidedge/api/sesdk_web/SolidEdgeFramework~Application~DelayCompute.html
Aber was bedeutet "computation"? Was zählt da dazu?

Schönen Nachmittag Zusammen
Andy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andy313
Mitglied
Konstruktöör


Sehen Sie sich das Profil von Andy313 an!   Senden Sie eine Private Message an Andy313  Schreiben Sie einen Gästebucheintrag für Andy313

Beiträge: 212
Registriert: 10.02.2005

Solid Edge ST10 mit CIM Database (von Contact)
Windows 10 64bit
Intel Xeon E5-1620 v2 (3.7Ghz)
16 GB RAM / SSD HD

erstellt am: 22. Jun. 2016 11:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

PS: für alle die es interessiert, mit: "MySE.Interactive = False" kann man das ganze SE für User-Eingaben sperren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Zeitbeißer
Moderator
CAD-Ko­ry­phäe




Sehen Sie sich das Profil von Zeitbeißer an!   Senden Sie eine Private Message an Zeitbeißer  Schreiben Sie einen Gästebucheintrag für Zeitbeißer

Beiträge: 2646
Registriert: 25.06.2014

Die Computerrevolution ist vorbei - sie haben gewonnen.

erstellt am: 22. Jun. 2016 12:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andy313 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andy313:
PS: für alle die es interessiert, mit: "MySE.Interactive = False" kann man das ganze SE für User-Eingaben sperren.

Danke für die Info! 

------------------

Nichts ist mächtiger als eine Idee, deren Zeit gekommen ist.
Victor Hugo
------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz