| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | Mit dem all4cad-Blog immer bestens informiert! - Neues zu Lösungen und Entwicklungen rund um ERP und PDM, eine Pressemitteilung
|
Autor
|
Thema: Verschiebung innerhalb eines Produkts (1352 mal gelesen)
|
lukas304 Mitglied Konstrukteur
 
 Beiträge: 150 Registriert: 26.01.2010 Intel Core(TM) i7-4790CPU 3,60GHz Arbeitsspeicher 16,0 GB NVIDIA Quadro K2200 Windows 10 pro 2x 24" TFT-Monitor Catia V5 R19 / R26 /R30 SpaceMouse Pro
|
erstellt am: 03. Jan. 2013 15:44 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, hab' da mal wieder 'ne Frage. Folgendermaßen: Es existiert ein Produkt inkl. das dazugehörige Drawing mit den einzeln detaillierten Parts. Nun gibt es kundenseitig eine Überarbeitung (z.B. Fahrzeug-Facelift). Jetzt möchte ich natürlich dieses vorhandene Produkt dazu nutzen und an die neue Situation anpassen, um mir die Arbeit der Neudetaillierung zu ersparen. Jetzt ist es aber nun so, dass einige der Parts innerhalb des Produktes in eine andere Position und zwar nicht nur linear, sondern auch mit Winkel, verschoben werden müssen. Jetzt hätte man natürlich die Möglichkeit, diese Parts in eine Komponente zu packen, um dann das Gesamtpaket an die neue Position zu setzen. Wenn mann diese aber tut, verliert man im Drawing den Link der einzelnen Parts. Das gleiche passiert, wenn man es mit einem Hilfsprodukt versucht. Welche Möglichkeiten hätte man nun noch, um mehrere aneinanderhängende Einzelteile auf einmal neu zu positionieren (verschieben (linear) und verdrehen (Winkel))? Oder gibt es eine Möglichkeit, verlorengegangene Links wieder zu replacen, weil momentan zeigt er nach so einer Verschiebeaktion nur noch Produkte als Auswahl. Hoffe, ich habe mich einigermaßen verständlich ausgedrückt. Bin für jeden Tip dankbar gruß lukas304
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager

 Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 03. Jan. 2013 16:42 <-- editieren / zitieren --> Unities abgeben:          Nur für lukas304
Hallo Lukas, Zitat: Original erstellt von lukas304: Welche Möglichkeiten hätte man nun noch, um mehrere aneinanderhängende Einzelteile auf einmal neu zu positionieren (verschieben (linear) und verdrehen (Winkel))?
Ich weis ja nicht, wie du die verschiebst, aber per Hand kannst du auch alle markieren und dann gleichzeitig verschieben. Per Bedingungen müsstest du wohl alle Teile einzeln anpacken bzw. die vorhandenen Bedingungen entsprechend ändern. Zitat: Original erstellt von lukas304: Oder gibt es eine Möglichkeit, verlorengegangene Links wieder zu replacen, weil momentan zeigt er nach so einer Verschiebeaktion nur noch Produkte als Auswahl. Hoffe, ich habe mich einigermaßen verständlich ausgedrückt.
Per rechte Maustaste auf die Ansicht > Objekt .x. > Verknüpfung ändern > defekten Link anwählen und löschen > unten in das Fenster klicken > ins Part wechseln > anwählen > zurück in die Zeichnung wechseln > "Alle hinzufügen" betätigen und mit OK bestätigen... Allerdings verstehe ich nicht, warum du die Links nicht entweder auf die Partdokument unabhängig generierst oder eben das Produkt abbildest. Alles andere ist eigentlich eher unsauber! ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities 
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
   
 Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 04. Jan. 2013 11:04 <-- editieren / zitieren --> Unities abgeben:          Nur für lukas304
Ist schon zu lange her um genaueres zu sagen, aber ich hatte einmal ein Makro geschrieben http://hoblila.wordpress.com/download/ welches sich mit Verdrehungen von Achsensystem und so beschäftigte. Eventuell müsste ich nur eine Kleinigkeit ändern, damit es auf Deinen Fall passt, denn mehrere Teile auf einmal kann es glaube ich nicht. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager

 Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 04. Jan. 2013 11:31 <-- editieren / zitieren --> Unities abgeben:          Nur für lukas304
Zitat: Original erstellt von HoBLila: Ist schon zu lange her um genaueres zu sagen, aber ich hatte einmal ein Makro geschrieben http://hoblila.wordpress.com/download/ welches sich mit Verdrehungen von Achsensystem und so beschäftigte.Eventuell müsste ich nur eine Kleinigkeit ändern, damit es auf Deinen Fall passt, denn mehrere Teile auf einmal kann es glaube ich nicht.
Hallo Henry, ich glaube nicht, dass das reicht, da mehrere Komponenten verschoben werden müssen und die Aufhängung immer eine andere sein dürfte bzw. eben nicht mit den gleichen Werten vor allem bei Winkeln verschoben werden kann. Ich hätte mir gerne mal den Code angeschaut, aber du mit dem Kennwort wieder :D Ich muss allerdings gestehen, dass ich gerade selbst mit dem Move-Befehl zu Gange bin und den noch nicht ganz verstanden habe. Dokumentationen sucht man ja vergebens und das Beispiel in der Automation ist ja wohl ein schlechter Scherz! Vor allem bei einer solchen Funktion, die bei Fehlberechnungen zu unsicheren Zuständen und Fehldarstellungen führen kann. Was ich da schon alles gemorphed habe :D Naja für meine Zwecke ausreichend und funktionstüchtig hatte ich mir jedenfalls folgendes programmiert...
Code:
Public Sub Product_MoveComponent(ByVal WorkProduct As ProductStructureTypeLib.Product, ByVal ComponentName As String, Optional ByVal xMove As Double = 0, Optional ByVal yMove As Double = 0, Optional ByVal zMove As Double = 0, Optional ByVal xRotation As Double = 0, Optional ByVal yRotation As Double = 0, Optional ByVal zRotation As Double = 0) Dim oDoc As ProductStructureTypeLib.Product Dim oMovableObj As INFITF.Move Dim TransArray(11) Dim DegValue As Double Dim RadValue1 As Double Dim RadValue2 As Double Dim DegRad As Double Try DegRad = Math.PI / 180 oDoc = WorkProduct.Products.Item(ComponentName) oMovableObj = oDoc.Move 'Rotate on X-Axis If xRotation <> 0 Then DegValue = xRotation DegValue = DegValue * DegRad RadValue1 = Math.Sin(DegValue) RadValue2 = Math.Cos(DegValue) 'Vector X-Axis rotate TransArray(0) = 1 TransArray(1) = 0 TransArray(2) = 0 'Vector Y-Axis rotate TransArray(3) = 0 TransArray(4) = RadValue2 TransArray(5) = RadValue1 'Vector Z-Axis rotate TransArray(6) = 0 TransArray(7) = -RadValue1 TransArray(8) = RadValue2 'Vector xyz distance TransArray(9) = 0.0 TransArray(10) = 0.0 TransArray(11) = 0.0 oMovableObj.Apply(TransArray) End If 'Rotate on Y-Axis If yRotation <> 0 Then DegValue = yRotation DegValue = DegValue * DegRad RadValue1 = Math.Sin(DegValue) RadValue2 = Math.Cos(DegValue) 'Vector X-Axis rotate TransArray(0) = RadValue2 TransArray(1) = 0 TransArray(2) = -RadValue1 'Vector Y-Axis rotate TransArray(3) = 0 TransArray(4) = 1 TransArray(5) = 0 'Vector Z-Axis rotate TransArray(6) = RadValue1 TransArray(7) = 0 TransArray(8) = RadValue2 'Vector xyz distance TransArray(9) = 0.0 TransArray(10) = 0.0 TransArray(11) = 0.0 oMovableObj.Apply(TransArray) End If 'Rotate on Z-Axis If zRotation <> 0 Then DegValue = zRotation DegValue = DegValue * DegRad RadValue1 = Math.Sin(DegValue) RadValue2 = Math.Cos(DegValue) 'Vector X-Axis rotate TransArray(0) = RadValue2 TransArray(1) = RadValue1 TransArray(2) = 0 'Vector Y-Axis rotate TransArray(3) = -RadValue1 TransArray(4) = RadValue2 TransArray(5) = 0 'Vector Z-Axis rotate TransArray(6) = 0 TransArray(7) = 0 TransArray(8) = 1 'Vector xyz distance TransArray(9) = 0.0 TransArray(10) = 0.0 TransArray(11) = 0.0 oMovableObj.Apply(TransArray) End If 'Move If xMove <> 0 Or yMove <> 0 Or zMove <> 0 Then 'Vector X-Axis rotate TransArray(0) = 1 TransArray(1) = 0 TransArray(2) = 0 'Vector Y-Axis rotate TransArray(3) = 0 TransArray(4) = 1 TransArray(5) = 0 'Vector Z-Axis rotate TransArray(6) = 0 TransArray(7) = 0 TransArray(8) = 1 'Vector xyz distance TransArray(9) = xMove TransArray(10) = yMove TransArray(11) = zMove oMovableObj.Apply(TransArray) End If Catch ex As Exception MsgBox(ex.ToString, MsgBoxStyle.Critical, "Fehler in Functions: Product_MoveComponent") End Try End Sub
------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities 
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |