Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Teile und BG per Rahmenauswahl selektieren

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 Creo
Autor Thema:  Teile und BG per Rahmenauswahl selektieren (1389 mal gelesen)
lix b
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 279
Registriert: 03.10.2014

Creo Elements / Direct Modeling 20.2.1.0
Creo Elements / Direct Model Manager 20.2.1.0
Creo 5.0.2.0 Simulate
<P>Notepad++
Win 10

erstellt am: 24. Aug. 2015 10:48    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!

Ich bräuchte mal wieder die Unterstützung von euch in Sachen LISP Code.

Ich möchte mir ein LISP erstellen, welches mir ermöglich per Fensterrahmenauswahl mehrere Teile/BGR zu selektieren um diese anschließend gemeinsam zu positionieren. Dies funktioniert zwar von Haus aus, aber sobald bei der Auswahl Teile dabei sind, deren Besitzer schreibgeschützt sind, werden diese natürlich aus der Selektion geschmissen. Mein Idee ist, für solche Teile automatisch den Besitzer zu erfassen und diesen an Stelle des gewählten Teils in die Selektion zu nehmen.

Im Prinzip sollte das dann ähnlich funktionieren wie die automatische Erkennung von gewählten Baugruppen beim Befehl 3D-ändern.

Was ich dazu bräuchte wäre zunächst ein Code-Schnipsel wie ich einzelne Objekte einer SEL_ITEM Liste in einer do-list Schleife verarbeite und anschließend wieder in EINE SEL_ITEM packe auf die ich dann mit Positionieren wieder zugreifen kann.
In meinem LISP überschreibt er natürlich die Variable auswahl-liste mit jedem  Objekt wieder und letzten Endes bleibt nur das letzte Objekt stehen.

Code:
:variables
  '(
    (auswahl
  :selection (*sd-object-seltype*)
          :multiple-items t
            rompt-text "mit Rahmen auswaehlen"
          :title "Auswahl"
          :initial-value nil
  :after-input
  (progn
  (dolist (auswahl-einzeln auswahl)

            (setf auswahl-liste (sd-pathname-to-obj (sd-inq-obj-pathname auswahl-einzeln)))
);;dolist
(display auswahl)
(display auswahl-liste)

  )
  )
("Positionieren")
               
  (Pos
  :title "positionieren"
  :toogle-type :wide-toogle
osition-part auswahl-liste
  );;Pos
  )


------------------
Viele Grüße
Felix

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

Dieter Kotsch
Mitglied



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

Beiträge: 311
Registriert: 10.08.2002

erstellt am: 21. Sep. 2015 12:17    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 lix b 10 Unities + Antwort hilfreich

Hallo

Ab V19 gibt es hierzu extra einen Schalter beim Positionieren.

Grüße

Dieter

------------------
nichts ist unmöglich 

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

lix b
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 279
Registriert: 03.10.2014

Creo Elements / Direct Modeling 20.2.1.0
Creo Elements / Direct Model Manager 20.2.1.0
Creo 5.0.2.0 Simulate
<P>Notepad++
Win 10

erstellt am: 21. Sep. 2015 13:55    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


SD_Intelligente-Rahmenauswahl.txt

 
Hallo Dieter!

Wenn du damit die Option "Besitzer transformieren" meinst, erfüllt diese einen anderen Zweck.
Ist sie aktiviert, werden sinngemäß nicht die selektierten Einzelteile einer Baugruppe verschoben und somit die exemplarischen Baugruppen verändert, sondern die Baugruppe an sich selektiert und positioniert. Soweit so gut.

Nimm jetzt aber eine Baugruppe in der Standardteile (z.B. Normteile od. Zukaufteile die aus mehreren Einzelteilen bestehen und als eine Datenbankbaugruppe immer wieder exemplarisch verbaut sind und versuche diese mittels Fensterrahmenauswahl direkt zu wählen. Dann funktioniert diese Option nicht mehr, da sofort auf Einzelteilebene die Unveränderbarkeit detektiert wird.
Somit müssen diese Baugruppen dann entweder in der Strukturliste oder über die Option BG-Wählen einzeln dazugepickt werden.

In manchen Situationen funktioniert das über 3D-ändern mit der Option "Obj transf" aber auch nicht immer.

Wenn nun derartige gesperrte Baugruppen in 2-3 fiktiven Unterbaugruppen verschachtelt sind wird das Auswählen schon sehr mühselig.

Das Problem mit der Liste konnte ich zwischenzeitig selbst lösen 

Probier es aus und du wirst sofort den Unterschied bemerken.

Die Vorgehensweise ist simpel. Das LISP untersucht Teil für Teil ob sich eines der, über die Rahmenauswahl selektierten Teile, in einer gesperrten BG befindet, und wenn ja, dann wird die BG gewählt. Das ganze geht 2-3 Stufen nach oben, je nach Geschmack und Erfordernis.

Das ganze hat dann nebenbei noch andere Vorteile:

- durch Generierung einer Preselection Liste kann diese Auswahl nicht nur zum Positionieren sondern auch für jede andere Operation als Sel_Item verwendet werden (Exemplar oder Kopie erstellen, ect.

- wird EIN Teil einer gesperrten BG gewählt, wird automatisch die ganze Baugruppe in die Selektion übernommen.

------------------
Viele Grüße
Felix

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