Forum:CATIA V5 Programmierung
Thema:Skalierung von Products
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
i030

Beiträge: 26 / 0

CATIA V5

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!

bgrittmann

Beiträge: 10862 / 18

CATIA V5R19

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.

i030

Beiträge: 26 / 0

CATIA V5

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!

bgrittmann

Beiträge: 10862 / 18

CATIA V5R19

Servus

Würde es nicht reichen die Size der View auszuwerten um den erforderlichen Maßstab zu berechnen?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

i030

Beiträge: 26 / 0

CATIA V5

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!

i030

Beiträge: 26 / 0

CATIA V5

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!