Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  SolidWorks
  positionieren von Komponenten

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 SOLIDWORKS
  
7 Tipps für die Konstruktion von Kunststoffteilen und Spritzgussformen, ein Webinar am 27.06.2025
Autor Thema:  positionieren von Komponenten (1038 mal gelesen)
mbott
Mitglied


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

Beiträge: 9
Registriert: 30.06.2023

erstellt am: 30. Jun. 2023 16: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,

ich versuche Parts und Assemblys in Unterstrukturen zu positioniern. Ich benutze hierfür:

component.Transform2 = newPosition;

Bei der Anwendung der Transformation, wird jedoch nicht nur die gewünschte Komponente positioniert, sonder auch alle übergeordneten Assemblys in denen die Komponente verbaut ist (bis zur obersten Ebene des rootassemblys).
Wie kann ich erreichen, dass nur die gewünschte Komponente relativ zu ihrem eigenen Assembly-Knoten positioniert wird?

Grüße
Markus

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

Ralf Tide
Moderator
-




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

Beiträge: 5018
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 30. Jun. 2023 17: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 mbott 10 Unities + Antwort hilfreich

Hallo Markus,

willkommen im SolidWorks Forum.

Ich habe noch nicht genau verstanden was da bei Dir funktioniert bzw. nicht funktioniert wie gewünscht.

HBG
->Teil1
->UBG1
-->Teil1
->UBG2
-->Teil1
->UBG3
-->UBG1
--->Teil1

Wenn ich Dich richtig verstanden habe, positionierst Du das Teil1 in der UBG1 und es positioniert sich auch in der UBG2 und in der HGB?
Ist das der Befehl, mit dem Du arbeitest: Transform2
Kannst Du vielleicht noch ein wenig mehr code zeigen?


Bin gespannt,
Ralf

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

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

mbott
Mitglied


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

Beiträge: 9
Registriert: 30.06.2023

erstellt am: 03. Jul. 2023 10:37    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 Ralf,

ich habe folgende Struktur:

HBG
->UBG1
-->UBG2
--->Teil1
--->Teil2

Ich möchte per "Transform2" das Tei1 umpositionieren, was scheinbar auch funktioniert. Jedoch werden auch Teil2, UBG1+2 mit verschoben, quasi alles bis zur Ebene der HBG. Ich möchte aber nur Teil1 in UBG2 umpositionieren.

meine Zeilen:
Set swMathUtil = swApp.GetMathUtility
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swComp = swSelMgr.GetSelectedObjectsComponent3(1, 0) 'Teil1 ist selektiert!
Set swXform = swMathUtil.CreateTransform(Nothing) 'Verschiebung in Ursprung
swComp.Transform2 = swXform

Hast du eine Idee, was ich berücksichtigen muss, bzw. falsch mache?
Vielen Dank schon mal für deine Hilfe!

Gruß
Markus

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

Ralf Tide
Moderator
-




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

Beiträge: 5018
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 05. Jul. 2023 08:37    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 mbott 10 Unities + Antwort hilfreich

Hallo Markus,

mit den Codezeilen kann ich zwar sehen, dass Du die Komponente selektierst, nicht jedoch wie Du in die Unterbaugruppe gekommen bist. Um nur in der UBG2 das Teil1 zu positionieren musst Du Dich auch "in der UBG2" befinden und dort die Komponente auswählen:
EditAssembly - hinter dem Link sind auch Beispiele, die Dir weiter helfen können.

HTH
Ralf

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

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

mbott
Mitglied


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

Beiträge: 9
Registriert: 30.06.2023

erstellt am: 05. Jul. 2023 16: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 Ralf,
danke für deine Antwort, leider hat das "EditAssembly" keine Änderung bewirkt.

Hier meine aktuellen Zeilen:

    Set swApp = Application.SldWorks
    Set swMathUtil = swApp.GetMathUtility
    Set swModel = swApp.ActiveDoc
    boolstatus = swModel.Extension.SelectByID2("UBG2-1@HBG/UBG3-1@UBG2/UBG4-1@UBG3", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
    swModel.EditAssembly
    boolstatus = swModel.Extension.SelectByID2("UBG2-1@HBG/UBG3-1@UBG2/UBG4-1@UBG3/Teil1-1@UBG4", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
    Set swSelMgr = swModel.SelectionManager
    Set swComp = swSelMgr.GetSelectedObjectsComponent3(1, 0)
    Set swXform = swMathUtil.CreateTransform(Nothing)
    swComp.Transform2 = swXform
    swModel.EditRebuild3

Alternativ habe ich die BG, in der das Teil verschoben werden soll als ActiveDoc (SWApp.ActivateDoc2) deklariert, dann funktioniert's mit dem positionieren. Ich bekomme dann nur Probleme mit meinen Koordinaten, die sind absolut zur HBG, müsste ich dann aufwendig umrechnen.
Hast du vielleicht noch eine andere Idee?

Gruß
Markus

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

Ralf Tide
Moderator
-




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

Beiträge: 5018
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 06. Jul. 2023 16:37    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 mbott 10 Unities + Antwort hilfreich

Hallo Markus,

um Dir jetzt Alternativen bieten zu können, musst Du noch mehr Informationen preisgeben...

Willst Du den Ursprung von Teil1 auf den Ursprung der HBG positionieren?
Oder geht es um einen bestimmten Verschiebevektor?
Ist es so kompliziert die Entfernug/Ausrichtung von Teil1 zum Ursprung der HBG zu ermitteln?
- diese könntest Du speichern und in der UBG das Teil1 entsprechend verschieben.
Warum geht verknüpfen nicht?

Vielleicht beschreibst Du einfach den Anfangsstatus etwas genauer (Weitere Randbedingungen, warum hast Du die Transform2-Methode gewählt...) und das gewünschte Ergebnis (Bild/Screenshot, Beispieldateien, Marko, SolidWorks-Version sind hilfreich). Die Alternativen für den Prozess dazwischen können wir dann vielleicht gemeinsam herausfinden.

HTH
Ralf

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

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

mbott
Mitglied


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

Beiträge: 9
Registriert: 30.06.2023

erstellt am: 07. Jul. 2023 09:27    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


SW_Test.zip


SW_BaumStruktur.jpg

 
Hallo Ralf,

du findest meine Testdaten und das Makro im Anhang. 
Bitte wende mal das Makro an. Selektiere hierzu Teil3 zum Umpositionieren, der Kontext sollte die HBG sein.
Vielleicht fällt dir was auf oder du hast eine spontane Eingebung.
Besten dank schon mal!

Gruß
Markus

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

Ralf Tide
Moderator
-




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

Beiträge: 5018
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 11. Jul. 2023 07:05    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 mbott 10 Unities + Antwort hilfreich


034499_SWX2023-inSWX2022-geoeffnet.jpg


034499_MakroDurchlauf.mp4

 
Hallo Markus,

die Version 2023 hab ich im Moment nicht installiert. Ich kann zwar die Baugruppe und das Makro in 2022 öffnen, aber die Baugruppe nicht bearbeiten (nur zur Ansicht, Makro kann nicht ablaufen). Ich hab es mit einer eigenen BG versucht und kann Dein Ergebnis nachvollziehen - selbst wenn die restlichen Komponenten fixiert sind.
Wenn ich die Schritte "händisch" versuche, kann ich in der UnterBG nicht auf die Ebenen/Ursprung der HauptBG zugreifen...Mein Englisch ist nicht so gut - mein Deutsch ist viel besser (frei übersetzt von Lothar M.) - aber so ähnlich lese ich das in der Transform2 Beschreibung...

Ich würde wahrscheinlich folgenden Weg wählen:
1. Teil3 aus der UnterBG in die HauptBG einfügen/verschieben.
2. Das Makro anwenden.
3. Das Teil3 in die UBG zurückschieben.

ReorganizeComponents

HTH
Ralf

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

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

mbott
Mitglied


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

Beiträge: 9
Registriert: 30.06.2023

erstellt am: 12. Jul. 2023 16: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 Ralf,

ich hätte auch noch 2 workarounds:

1. übergeordnete BGs flexibel machen:
Das funktioniert leider nur solange die BGs flexibel bleiben...

2. Vaterknoten der zu verschiebenden Komponente zum aktiven Dokument machen und im neuen Kontext die (relative) Transformation ausführen. Das ganze braucht Zeit...

Beides keine wirklich guten Lösungen, aber sie funktionieren.

Gruß
Markus

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)2025 CAD.de | Impressum | Datenschutz