Autor
|
Thema: Skalierung von Products (999 / mal gelesen)
|
i030 Mitglied Entwickler
Beiträge: 27 Registriert: 01.02.2019 CATIA V5
|
erstellt am: 14. Okt. 2019 15:47 <-- editieren / zitieren --> Unities abgeben:
Grüß' euch, ich hab' mir vor einiger Zeit mal ein Script geschrieben, das für jeden Teil in einer Konstruktion eine Ableitung automatisch erstellt. Das dient nur als Übersichtszeichnung für unsere Montage (ein besserer Laufzettel also) und in der Doku für den Kunden, damit der eventuell verschlissene Teile einfacher zuordnen kann (unserer Bauteilbenennung ist generisch). Nun würd' ich das gleiche gerne für Products machen, aber da stoße ich gerade an ein Hindernis: Die Skalierung. Beim Einzelteil mach' ich das über das Rohmaß. Hier lass ich vor der Ableitung ein Script laufen, das das Bauteilabmaß ermittelt. Das geht über ein geom. Set und Ebenen und läuft eigentlich sehr stabil. Danach skaliert das Script einfach die Bauteilgröße auf einen A4-Zettel. Nur im Assembly-Designer find' ich einfach keine Lösung, wie ich das am besten angehe. Hat sowas schon jemand versucht oder kennt jemand eine Lösung? Im Grunde brauch' ich ja "nur" die bounding box des Product in allen drei Raumrichtung. LG ------------------ Use a git repo for your code, you're welcome! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Okt. 2019 16:06 <-- editieren / zitieren --> Unities abgeben: Nur für i030
Servus Hier und hier sind ein paar Ansätze beschrieben. Hast du die schon mal angeschaut/probiert? Was meinst du mit skalieren? Machst du ein Bild? Oder eine Zeichnung? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
i030 Mitglied Entwickler
Beiträge: 27 Registriert: 01.02.2019 CATIA V5
|
erstellt am: 14. Okt. 2019 16:18 <-- editieren / zitieren --> Unities abgeben:
Grüß' dich, danke für die rasche Antwort, werd' mir die Einträge in einer ruhigen Minute mal anschaun. Zu deiner Frage: Kein Bild sondern eine ISO-Ableitung. Kurzes Code-Snippet aus meinem Script: set drawingView = drawingSheet.Views.Add("ISO1") set generativeBehavior = drawingView.GenerativeBehavior generativeBehavior.Document = partDocument.GetItem(partDocument.Product.name) generativeBehavior.DefineIsometricView -0.707107, 0.707107, 0.000000, -0.408248, -0.408248, 0.816497 drawingView.x = camISO1PositionX drawingView.y = camISO1PositionY drawingView.Scale = getScale(xMeasure, yMeasure, zMeasure, camISO1Scale) Kurze Erklärung: Ich erstell' eine neue Ansicht in ISO-Perspektive (Zeile 1-4) aus dem Teil (hier partDocument) und positioniere und skaliere die Ansicht dann auf der Zeichnung (Zeile 5-7). Die drei ersten Variablen der getScale-Funktion sind die gemessenen Werte einer Bauteil-Abmaß-Funktion des Makros und die Variable camISO1Scale ist eine Vergleichsgröße (damit kann man den Skalierungsfaktor für unterschiedliche Blattgrößen ändern). lg ------------------ Use a git repo for your code, you're welcome! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Okt. 2019 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für i030
|
i030 Mitglied Entwickler
Beiträge: 27 Registriert: 01.02.2019 CATIA V5
|
erstellt am: 14. Okt. 2019 16:27 <-- editieren / zitieren --> Unities abgeben:
Hm, an das hatte ich noch gar nicht gedacht, sollte ja eigentlich der einfachste Weg sein. Werd' ich die Woche mal probieren! Thx! ------------------ Use a git repo for your code, you're welcome! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
i030 Mitglied Entwickler
Beiträge: 27 Registriert: 01.02.2019 CATIA V5
|
erstellt am: 15. Okt. 2019 13:56 <-- editieren / zitieren --> Unities abgeben:
So, hab's nun auf die *size* der view angepasst, kurzes Snippet: set drawing_view = drawing_sheet.Views.Add("ISO1") set generative_behavior = drawing_view.generativeBehavior generative_behavior.Document = part_document.GetItem(part_document.Product.name) generative_behavior.DefineIsometricView -0.707107, 0.707107, 0.000000, -0.408248, -0.408248, 0.816497 drawing_view.x = 90.000 drawing_view.y = 120.000 generative_behavior.Update drawing_view.Activate drawing_view.size drawing_view_size drawing_view.Scale = (iso1_x_max / (drawing_view_size(1) - drawing_view_size(0))) generative_behavior.Update drawing_view.Activate Läuft superfein, danke für den Hint
------------------ Use a git repo for your code, you're welcome! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|