Forum de la communauté Allplan

[Question] Projektname in Smartpart einlesen [Résolu]

Balises:
  • Projekt
  • SmartPart
  • Einlesen

Hallo!

Ich würde gerne in meinen Smartpart den Namen des aktuellen Projektes einlesen und auf einer Variable speichern. Ist das Möglich? Ich habe weder eine passende globale Variable noch eine REQUEST dazu gefunden..

Danke schon im Voraus!

Show solution Hide solution

Hello,

There is something very simple:
n = REQUEST ( "path_name" , "prj" , myvar )
Then, mycar contains the full path of the project. You can manage the string to only get the project name.
___________

Es gibt etwas sehr Einfaches:
n = REQUEST ( "path_name" , "prj" , myvar )
Dann enthält mycar den vollständigen Pfad des Projekts. Sie können die Zeichenfolge so verwalten, dass nur der Projektname abgerufen wird.


...gibt keinen REQUEST oder Globale Variable mit diesem Inhalt.

Workaround 1 (einfach):
Häng einfach ein Attribute an das SmartPart, schreib den Projektnamen rein, und Verknüpfe das Attribut mit einem Parameter.
Evtl. gibt es schon ein Attribut, wo der Projektnamen drin steht (...ich kenne keines).

Workaround 2 (kompliziert):
Lies im SmartPart-Script dem XML-TextAddOn die Datei Projekt1.dat.xml aus dem Prj-Verzeicnis.
Da steht der Projektname drin:

<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<AllplanProjectData FileVersion="0.1" WorkgroupManager="1">
<Project NodeVersion="0.1">
<Name>BEISPIELPROJEKTNAME</Name>
...

BTW: Wozu muss ein SmartPart wissen, in welchem Projekt es ist?

Ok dann Versuch ich mich mal am Workaround 2!

Ich will eine Koordinaten-Liste als csv-Datei exportieren. Der Name dieser Datei soll sich aus dem Datum und dem Projektnamen zusammensetzen.

Hello,

There is something very simple:
n = REQUEST ( "path_name" , "prj" , myvar )
Then, mycar contains the full path of the project. You can manage the string to only get the project name.
___________

Es gibt etwas sehr Einfaches:
n = REQUEST ( "path_name" , "prj" , myvar )
Dann enthält mycar den vollständigen Pfad des Projekts. Sie können die Zeichenfolge so verwalten, dass nur der Projektname abgerufen wird.


Hi Bertrand!

Thank's a lot - now it works!

You're welcome!
Thank you for the feedback.


I've got one more question. In Allplans Documentation of REQUEST (Link) there are only three valid question_objects for Path_Name.

---
Path_Name: returns the path of Allplan installation directories. Example: REQUEST ("Path_Name", path_type, path), where path_type can be "User", "Extern", Temp".
---

The question_object "prj" is not listed here - what other questions are valid that are not listed here? By trying I have found out, that you can return the path of the ETC-Directory by using "etc".

n = REQUEST ( "Path_Name" , "etc" , etc_drct )
IF n = 1 THEN PRINT etc_drct

Folgende Abfrage-Optionen für path_type gibt es :

"user" - Benutzer-Verzeichnis
"extern" - Externer Verzeichnis
"temp" - Temporärer Verzeichnis
"install" - Installations-Verzeichnis
"net" - Datanablage-Verzeichnis
"aux" - HilfsVerzeichnis z.B. <AppDataLocal>\Nemetschek\Allplan\20xx\
"std" - STD-Verzeichnis (Büro)
"std_design" - Design-Verzeichnis Büro
"etc" - ETC-Verzeichnis
"prj" - aktuelles Projekt-Verzeichnis
"prj_design" - Design-Verzeichnis des aktuellen Projektes
"std_fav" - Favoriten-Verzeichnis des Büros
"etc_fav" - Favoriten-Verzeichnis des ETC-Verzeichnisses
"usr_fav" - Favoriten-Verzeichnis des akteullen Benutzers
"prj_fav" - Favoriten-Verzeichnis des akteullen Projektes
"registry" - Registrierungsschlüssel-Pfad von Allplan

Cité par Nemo
Evtl. gibt es schon ein Attribut, wo der Projektnamen drin steht (...ich kenne keines)...

@405@ Projektname

oder hab ic es falsch verstanden?

Lg René
http://www.baucon.de

Es gibt sicher das Attribut "Projektname", aber das kann man leider nicht an ein SmartPart dranhängen, um es im SmartPart als Parameter zu verwenden!

Es ging also um ein Attribut für ein SmartPart, in dem der Projektname vorkommt.
Und solch eines kenne ich nicht!
Möglicherweise kann man sich so etwas über den Umweg eines Formelattributes bauen.