[Frage] Smartpart-Gruppe

Schlagworte:
  • Smartpart;
  • Gruppe;
  • Attribute
  • Exportieren

Hallo liebe Community

Ich stehe bei einer Smartpart-Programmierung vor folgendem Problem:
Mein SMP ruft über CALL_OBJ 3 verschiedene Unter-SMP auf.
Jedes dieser SMPs hatt bestimmte Attribute zugeordnet, welche beim XAC-Export und anschließendem Import im ERP-Programm drei verschiedene Artikel auslöst.
Wenn ich jedoch meine 3 Unter-SMPs mit dem Haupt-SMP absetzte, sin diese Informationen weg und es kommt im XAC nur der Hauptbauteil.
(Häcken Zähle Subobjekte im Haupt-SMP ist gesetzt).
Gibt es eine Möglichkeit den Haupt-SMP abzusetzen und ohne auflösen oder ähnliches die Unterinformationen zu übergeben.

Danke im Voraus
LG
Johannes

Jedes dieser SMPs hatt bestimmte Attribute zugeordnet..

Die Attribute müssen per Verknüpfung mit einem Parameter erzeugt werden.

Schau Dir das Beispiel Tischgruppe an. Du findest es unter:
"C:\ProgramData\Nemetschek\Allplan\2022\Etc\Examples\SmartParts\General\MacroGroup_Table_with_Chairs.smt"

Diese Beispiel funktioniert einwandfrei.
Ich habe mal testweise an das Stuhl-SMT das Attribut "Anzahl_Außenecken" mit dem Wert 4 vergeben.(s. chair_smt.png)
Das Haupt-SmartPart Tisch hat das Attribut "Anzahl der Ausführungen" erhalten, und wird mit der Anzahl der Stühle "befüllt".(s. table_smt.png)

Der Excel-Export mit dem Report "Allgemeine Objektattribute.rdlc" sieht korrekt aus.(s.export_smt_group.png)

Anhänge (3)

Typ: image/png
156-mal heruntergeladen
Größe: 46,63 KiB
Typ: image/png
156-mal heruntergeladen
Größe: 80,01 KiB
Typ: image/png
145-mal heruntergeladen
Größe: 57,79 KiB

Hallo
Danke für die Hilfe. Hat perfekt funktioniert.
Ein echter Großmeister

HI

Ich war wohl zu voreilig.

Habe an den SubSMPs noch etwas verändern müssen. Jetzt kommen im XACV die Subs nicht mehr raus.
Definition wie folgt: Jeder SUBSMP hat ein Master Parameter 2D 3D Skript. Das Parameter-Skript enthält auch die Folien-Def.
Im MainSMP sind die Master und Parameter inkl. Folien-Def identisch zu den Subs. Im 3D und 2D wird jeweils mittels CALL die Subs
je nach den benötigten Bedingungen (Dialog) aufgerufen. zusätzlich mlasse ich die mittles CALL_OBJ die SUBs im SCALE 0.0005 aufrufen um die Datenobjekte zu bekommen.

Entweder habe ich 3D und kein 2D und keinen XAC.
Oder ich habe kein 3D und kein 2D und keinen XAC.
Oder ich habe 3D und 2D und keinen XAC.

Wo ist mein Denkfehler.
Zusätzlich lege ich alle 4 SMPs bei (der Pfad für die SUBs = STD\Library --> \expo8\variotür\)

Danke

Anhänge (1)

Typ: application/zip
746-mal heruntergeladen
Größe: 92,40 KiB

Ich habe nicht ganz verstanden, was der Zweck der Scripte ist. Auch die Performance ist etwas unterirdisch.
Folgende Hinweise:

1. Die Definition der Folien muss im 2D- bzw. 3D-Script erfolgen. Niemals im Parameter-Script, und schon gar nicht im Haupt-SmartPart!
2. Wenn 2D-Folien definiert sind, muss auch mindestens eine 3D-Folie definiert werden.
3. CALL und CALL_OBJ sollte man nicht mischen.
CALL erzeugt Objekte für die 2D- bzw. 3D-Folie, und muss im entspr. Script extra aufgerufen werden.
Das Ergebnis ist ein SmartPArt (Makro).
CALL_OBJ erzeugt ein komplettes SmartPart (mit 2D- und 3D-Folie), und sollte deshalb nur einmal im 3D-Script aufgerufen werden.Das Ergebnis ist eine Makrogruppe, bestehend aus dem Haupt-SmartPart und den Sub-SmartParts.
4. Boolsche Opertionen (Subtraktionen) von einer Leiste mit dutzenden Zylinder sollte man vermeiden.
Zumindest im Preview kann man sich das Sparen (IF PREV_MODE THEN ... ELSE ... ENDIF)

Ich habe die SmartParts entspr. geändert.

Anhänge (1)

Typ: application/ndw
763-mal heruntergeladen
Größe: 3,13 MiB

Hola.
Parece que lo que estás creando es un SMT de puerta.
Los grupos de SmarParts de puertas y de ventanas no funcinan cuando se colocan en una abertura. Pierden la capacidad de generar subobjetos numerables. De manera que si quieres obtener varios objetos, cada uno con su ID, y su medición individual, eso no es posible con grupos de SmartParts. Solo se reconoce el ID del objeto principal. Hay que colocar cada uno de los subobjetos por separado dentro de la abertura para que funcione. Con Allplan se puede hacer casi todo, pero también tiene sus limitaciones.
Un saludo.

576 / 5.000
Resultados de traducción
Resultados de traducción
Hallo.
Es sieht so aus, als ob Sie ein Gate-SMT erstellen.
Tür- und Fenster-SmarParts-Gruppen funktionieren nicht, wenn sie in einer Öffnung platziert werden. Sie verlieren die Fähigkeit, zählbare Unterobjekte zu erzeugen. Wenn Sie also mehrere Objekte mit jeweils einer ID und einem individuellen Maß erhalten möchten, ist dies mit Gruppen von SmartParts nicht möglich. Nur die ID des übergeordneten Objekts wird erkannt. Sie müssen jedes der Unterobjekte separat in der Öffnung platzieren, damit es funktioniert. Mit Allplan ist fast alles möglich, aber es hat auch seine Grenzen.
Alles Gute.