SmartParts kennen keine Zeichnungstypen. Ist das in Planung? [Gelöst]

Schlagworte:
  • 2012

Hi,

nach meinem Kenntnisstand kennen die Allplan-Zeichnungstypen und die SmartParts sich gegenseitig NICHT.

Ist es geplant, das zu ändern? Wenn ja, wann kann cih damit rechnen?

Die Frage hat nen einfachen u handfesten Hintergrund: Ich habe eine selbsterstellte "Möbelschablone" im Einsatz. Jedes Möbel ein Makro. Jedes Makro sieht bei unterschiedlichen Zeichnungstypen anders aus. Da steckt viel Arbeit drin. Ich würde sehr gerne sukzessive die Makros durch SmartParts ersetzen, aber erst, wenn die SmartParts ebenfalls Zeichnungstypen können.

Würde mich über Aussage diesbezüglich freuen!

Daniel

Lösung anzeigen Lösung verbergen

Danke Joey, toller Beitrag, mit dem wir uns sicher auf dem Januar-Treffen genauer beschäftigen werden.

Und wo es 1.0 gibt, gibts irgendwann ja auch 2.0. Ich bin sehr gespannt.

Daniel

Hallo Daniel

Aus meiner Sicht, sollte das schon jetzt gehen. Ich habe auch schon Smartparts gemacht mit Stilflächen. Das hat funktioniert. Ob ich die Eigenschaft "von Layer" in Smartparts vergeben kann weiss ich aber nicht.

Gruss Thierry

https://www.cds-bausoftware.ch
https://www.cds-bausoftware.ch/bundle
https://www.cds-ausbildung.ch

Hi Thierry,

echt? Das wär ja Hammer. Aber wie?
Ich möchte ja, zum Beispiel bei einem SP aus dem Content, selber beinflußen können, wie ein SP in den versch. Zeichnungstypen aussieht.

Also Strich, Stift Dicke der Linien und Definition einer Füllfläche.

Das geht schon? Wenn ja, wie?

Daniel

Hallo,

zunächst muss man mal Einiges "Auseinanderhalten":

Zeichnungstypen können folgenden Elemente "steuern":
1. Die Eigenschaften Farbe/Stift/Strich via Linientyp-Definition
2. Die Darstellung von Flächenelementen als Filling/Schraffur/Muster via Stilflächen-Definition
3. Die Sichtbarkeit von Makrofolien

Punkt 1. funktioniert dabei nur, wenn man dem Element die Eigenschaft "vonLayer" gibt!
Denn der Linientyp hängt an einem bestimmten Layer, und das "Aussehen" der Elemente auf diesem Layer wird durch den Linientyp gesteuert.
Man kann einem Objekt nicht direkt einen Linientyp zuweiesen!

Alles etwas "in-direkt"...

Was können jetzt die SmartParts:
Zu Punkt 1.
------------------------------------
Man kann einem Objekt die Eigenschaft "vonLayer" für Stift/Strich/Farbe mitgeben. Dazu reicht vor dem Befehl im Script die Direktiven:
COLOR BY_LAYER
PEN BY_LAYER
STROKE BY_LAYER
einzufügen.
Damit reagieren die Objekte auf die Linientypen, wenn für den betreffenden Layer ein Linientyp eingestellt ist.

Zu Punkt 2.
------------------------------------
Auch hier reicht vor der Befehl, der ein Polygon erstellt, die Direktive
FACE_STYLE 301 (301=Beton zBsp.)

zu Punkt 3.
-------------------------------------
Zur Zeit ist es noch nicht möglich, die Sichtbarkeit von Macrofolien direkt durch den Zeichnungstyp steuern zu lassen.
Grund:
- Die Zeichnungstypen werden intern über eine ID(Nummer) verwaltet, die auch für die Sichbarkeit zuständig ist. SmartParts, die die Foliensichtbarkeit an eine Nummer koppeln, sind nicht mehr universell auf anderen Rechnern einsetzbar, da Zeichnungstyp Nr. 1 bei Daniel -> "Entwurfszeichnung" sein kann, bei Thierry hingegen "Bauivorlage"...
somit wären solche SmartParts nur in einem bestimmten "Kontext" zugebrauchen.

Ziel der SmartParts war es, einen einfachen und unkomplizierten Zugang zu parameterischem Content (GDL oder selbstgescripted) für möglichst viele zu schaffen.

Die oben geschilderte Einschränkung war deshalb ein Kriterium, die Steuerung der Sichtbarkeit der Makro-Folien nicht in der Version 1.0 umzusetzen.

Aber:
Man kann wie gehabt die Sichtbarkeit der Makrofolien durch den Maßstab steuern lassen. Auch bei den SmartParts!

Gruß Jörg

Danke Joey, toller Beitrag, mit dem wir uns sicher auf dem Januar-Treffen genauer beschäftigen werden.

Und wo es 1.0 gibt, gibts irgendwann ja auch 2.0. Ich bin sehr gespannt.

Daniel

Hallo zusammen!

Wie kann man die Sichtbarkeit der Makrofolien durch den Maßstab steuern? Gibt es da Beispiele?

Das wäre echt interessant...

...ich hatte gerade schon in dem anderen, jetzt verschwundenem Beitrag geantwortet...

Foil dürfte hier der richtige begriff sein..

DEFINE FOIL defines a foil (corresponding to a foil of an <Product> smart symbol).

Syntax
DEFINE FOIL name visible2D, visible3D, from_scale, to_scale, refPnt1X, refPnt1y, refPnt1z, refPnt2X, refPnt2y, refPnt2z, layerA, layerB, layerC, scaleX, scaleY, scaleZ

Parameter
name (string): name of the foil, must be enclosed in quotes
visible2D, visible3D (boolean): 0 (invisiblor 1 (visible) in 2D or 3D view
from_scale: content of foil is only visible, if current scale is greater than from_scale
to_scale: content of foil is visible, if current scale is less than or equal to to_scale
refPnt1x, refPnt1y, refPnt1z (decimal): X, Y, Z of Refpoint1
refPnt2x, refPnt2y, refPnt2z (decimal): X, Y, Z of Refpoint2
layerA, layerB, layerC (boolean): 0 (invisiblor 1 (visible) for layer
scaleX, scaleY, scaleZ: scale dependency for direction X, Y, Z 0=X , 1=Y, 2=Z

Remarks
The foil can be used only in the script in which it was defined and its subsequent second generation scripts. After the definition of the foil you can activate the foil with SET FOIL, all objects created afterwards in the script will be placed on this foil. The foil can be specified either by its name or by its index number, with the following syntax:
[SET]FOIL name_of_foil: name of the foil enclosed in quotes
[SET]FOIL index: The index is a constant referring to a foil stack in the internal data structure. This stack is modified during script analysis and can also be modified from within the program. The use of the index instead of the foil name is only recommended with the prior use of the INDEX function. With SET FOIL 0 you can reset the script to the automatic foil creation, where 2D objects and 3D objects are placed on different foils and are visible in the scale range from 1:1 to 1:1000.

Namenlos gezeichnet in vollem Bewusstsein - ignorant, in eigen Augen vermutlich höflich, dennoch unhöflichst, unfreundlichst wer einen/viele vermutete - sich von alters erschließende Namen nennt.
[b]

Habe gedacht die Frage passt hier besser...

Danke für die promte Antwort! Werde das gleich mal ausprobieren.

Hier mal ein Smartpart mit Masstabswechsel. Ein U-Boden den ich brauche um aus 20stel Fassadenschnitte 50stel zu machen. Was findet ihr gut was würdet ihr besser machen?

Anhänge (1)

Typ: application/octet-stream
1543-mal heruntergeladen
Größe: 448,09 KiB