Ruby-Komponenten /Probleme bei Dynamisierung
#1
Hallo,

ich hoffe, mir kann hier jemand helfen. Ich habe über die Ruby Console ein Skript erstellt, dass über ein Fenster Eckdaten für Küchenschränke abfragt und nach Eingabe aller erforderlichen Daten, den kompletten Schrank mit Tür, Seiten, Rückwand, Böden etc. auswirft.

Soweit so gut, funktioniert auch alles. Wenn ich nun jedoch das Ergebnis auf dem Bildschirm habe und versuche aus dem Ergebnis eine dynamische Komponente zu erstellen beginnen die Probleme.

Explizit geht es um die dynamische Breitenänderung auf der X Achse.

Ich speicher die Komponente und rufe den Dialog für die Attribute auf. Ich bekomme die Komponente angezeigt und darunter die beinhalteten Gruppen, die da wären:

Front
Seite llinks
Unterboden
Oberboden
Rückwand
Seite rechts


Ich erfasse bei der Komponente einen editierbaren Wert und sage dem Wert, dass es sich um eine Ganzzahl handeln soll. Danach lege ich fest, dass sich die X Werte für die Seiten nicht ändern soll und lege fest, dass für Unterboden, Oberboden und Rückwand der obige eingegebene Wert minus der Dicken der Seiten gelten soll !

Wenn ich nun den vorgefertigten Schrank (den ich aus der Rubykonsole in 60 cm Breite erzeugt hatte) auf dem Bildschirm habe und über den Dialog der dymischen Komponente einen Wert von 90 cm eingebe, dann passt er die Böden und die Rückwand von der Breite an, aber! er verschiebt auch deren Anfangspunkt ! Und da liegt mein Problem. Ich gehe davon aus, dass er nicht berücksichtigt, dass die Seite nicht stärker geworden ist. Selbst, wenn ich den drei Elementen zwingend vorgebe, dass der X Wert (also die absolute Position) gleich null sein soll, wird das ignoriert...

komischerweise, wenn ich die gleichen Gruppen nicht über die Ruby Konsole erstelle, sondern manuell erzeuge und die dynamische Komponente dann anlege, bleiben die Böden und Rückwände auf der richtigen Position.

Offensichtlich erben meine Gruppen irgendwelche Werte aus dem Rubydialog. Frage: Wie kann ich das verhindern ?

Danke.

mfg

Racer
Zitieren
#2
will möglichen Antworten nicht vorgreifen könnte mir aber vorstellen, dass du diesbezüglich - vorausgesetzt des Englischen mächtig - hier oder hier besser aufgehoben bist.

Norbert
Zitieren
#3
Hast du ein Beispielmodell? Nur anhand des Textes wird ein Hilfeversuch schwierig werden...
Zitieren
#4
Hier habe ich mal auf die Schnelle einen per Ruby produzierten Schrank genommen (810 mm hoch, 600 mm Breit, 625mm Korpustiefe). Ich habe nicht per benutzerdefinierter Variable, sondern ganz schlicht über Anpassung der LENX eine dynamische Komponente erstellt. Wenn man nun bei den Optionen die Breite auf 600 mm stellt ist alles, so wie es sein soll, die Böden liegen an den Seiten an. Bei größeren Maßen entstehen jedoch Abstände, bei kleineren Maßen wachsen die Gruppen ineinander..

unter Verwendung einer benutzerdefinierten Variable kann ich das rechts eindämmen indem ich den Böden und der Rückwand vorgebe, wie breit sie sein sollen (Korpusbreite -3.8 cm) aber diese drei Gruppen "wandern" auch auf der linken Seite. Normalerweise müsste das allerspätestens mit festen Wert für x (also: X=0+1.9 cm) aufhören. Funktioniert aber nicht....

mfg

Racer

P.S. Englisch reicht für normale Konversation, mit fachlichen Texten tue ich mich jedoch recht schwer, daher bin ich froh und glücklich endlich ein deutsches Sketchup Forum gefunden zu haben und helfe ebenfalls gerne, wenn ich helfen kann...

Die angehangene Datei muss als Komponente geladen werden.. einfach in Sketchup öffnen reicht nicht. Datei in Komponentenordner schieben, Sketchup öffnen und Komponente hinzufügen..


Angehängte Dateien
.skp   LEU.skp (Größe: 22,67 KB / Downloads: 146)
Zitieren
#5
Ich habe nicht genauer in die einzelnen Definitionen geguckt, aber da ich auf Anhieb mindestens drei verschiedene Komponentenursprünge sehen kann, vermute ich, dass dies schon zu einem Problem bei der Positionierung von Einzelteilen führen kann...

   
Zitieren
#6
Ah.. danke... ich werde dem nachgehen und schauen, ob ich es so abgestellt bekomme...

melde mich dann dazu...

eine weitere Frage habe ich dennoch... wenn ich eine "Seite" also ein Quader zeichne 810mm hoch, 625mm tief und 19 mm stark.. und gebe dieser "Seite" vorne an einer Ecke eine fixe Ausklinkung von 64x49 mm (19mm stark, also eine Innenecke), wie kann ich, wenn ich die Seite dynamisch mache, der Ausklinkung mitteilen, dass deren Maße fix bleiben sollen ? Wenn ich die Höhe oder die Tiefe ändere, verändert sich die Ausklinkung immer mit...

Jemand eine Idee dazu ?

Danke

mfg
Racer


Angehängte Dateien Thumbnail(s)
   
Zitieren
#7
Das ist meines Wissens nach so direkt nicht möglich, das Teil müsste dann z. B. so zusammengesetzt werden:

   

Kanten, die zuviel angezeigt werden, können dabei ausgeblendet werden.
Zitieren
#8
Wenn die Linien passend versteckt werden sollen, sind sogar drei Teilkomponenten nötig:

   


Angehängte Dateien
.skp   dynkomp_Cotty_WandMitEcke.skp (Größe: 39,25 KB / Downloads: 146)
Zitieren
#9
Danke für die Antworten, ich hatte es befürchtet, leider war genau das der Grund, was die Programmierung der Korpusse über die Ruby-Schnittstelle so interessant machte.

Je nach Anzahl der Fronten habe ich bis zu drei Ausklinkungen pro Seite an verschiedenen Positionen..

mir bleibt somit nur die Möglichkeit(wenn ich den Korpus nicht in zahllose kleine Quader zerlegen möchte) die Dynamik nur auf die Breite anzuwenden und für die Tiefe und Höhe demnach separate Komponenten anzulegen, wäre ja auch zu schön gewesen, hätte ich alles mit einer Komponente "erschlagen" können.... Wink

ich tüfftel jetzt erst mal weiter an meinem obigen Problem. Gestern habe ich der Komponente eine Master-Nullpunkt zugewiesen, dennoch bleibt das Problem, dass er bei den Rubykomponenten die Böden vermittelt.. ich müsste mir überlegen, ob ich die Ruby-Schnittstelle umschreibe und alle Elemente auf dem Null Punkt erzeuge.. der fertige Schrank wird dann zwar eher aussehen, als wäre es eine Explosionszeichnung, aber wenn er dann über die Dynamikfunktion den Schrank passend zusammensetzt.. wäre mir ja auch geholfen.. ich berichte weiter.. besten Dank erst einmal bis hierhin..

mfg

Racer
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste