Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Eigene Sysvar

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Eigene Sysvar (914 mal gelesen)
Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 28. Sep. 2005 15:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

eigene Voreinstellungen kann man ja in der Registry speichern.

Geht das auch in AutoCAD als Sysvar ?

etwa so:

Code:

'    Varname = "MyColor"
'    Vardata = CStr(Farbe)
'    ThisDrawing.SetVariable Varname, Vardata


Stelli

------------------
Warum lisp'eln wenn's auch anders geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 28. Sep. 2005 18:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stelli1 10 Unities + Antwort hilfreich

Hi Stelli,

Bei GetVariable() steht:
Name: [...] must contain a valid system variable name [...]

Du willst auf sowas wie:

Code:

'alert, das ist kein Code ;-)
dim myVar as AcadSysVar
set myVar = Application.AcadSysVars.Add("my_own_sysvar")

hinaus? Klar, die Methodik gibts nicht, war jetzt nur symbolisch gemeint.;-)

Keine Ahnung, wie man Acad davon überzeugen kann, was 'eigenes' als
eine 'valid', also gültige Sysvar anzuerkennen/anzulegen.
Vielleicht über eigene Klassen? Aber autsch, da kenn ich mich nicht so dolle aus, BTWBy the way (So nebenbei bemerkt), was möchtest du denn damit grundsätzlich erreichen?

Gruss Nancy
     

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 28. Sep. 2005 18:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

wäre schön wenn es so laufen würde.

Wenn man mit Save/GetSettings arbeitet landet das ganze in der Registry unter "Hkey_current_user/Software/VBA Sett..."
Man hat mit VBA wenige Möglichkeiten. Irgendwann gibst da ein Chaos.
Für VB habe ich da mit der WinApi meine Funktionen. Aber die wollte ich eigentlich nicht in VBA benutzen.
Mit einer VB-DLL finde ich auch nicht gut weil man die immer mit Austauschen muss.

Da lag der Weg nahe das als SYSVAR zu speichern. Eben das Loch an der dünnsten Stelle aufbohren.

Geht dann wohl leider nicht.

Trotzdem Danke
Stelli

------------------
Warum lisp'eln wenn's auch anders geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 28. Sep. 2005 22:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stelli1 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Stelli1:

Warum lisp'eln wenn's auch anders geht...


Mit Lisp machst du einfach ein (setq a "Hallo") und damit gibts die Variable in der Acad-zeichnung bis zum schließen oder überschreiben. Permanent kannst du was in dictionaries ablegen... dann wären noch EED's an Objekten. Die vl-bb-set und vl-bb-ref -Funktion für Zeichnungsübergreifende Variablen via blackboard. Und letzendlich läßt sich auch (und das auch in VBA  ) das Document.SummaryInfo-Object mißbrauchen. Systemmäßig bleibt bloß die Registry bzw. ne Ini-Datei ect.


------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 28. Sep. 2005 23:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

danke für die Antwort.

Warum lisp'eln wenn's auch anders geht...

Muss es im Moment, da ich mir eigentlich vorgenommen hatte nichts mit
Lisp zu tun haben zu wollen. Geht aber anscheinend nicht ganz ohne. Zur Zeit laüft eine größere Migration die es mir einerseits erlaubt etwas Zeit (Wartezeit) hier im Forum zu stöbern, aber auf der anderen Seite keine Zeit läßt (im Moment) noch Lisp zu lernen.
Da gibt es denn auch noch eine Menge mit .net zu verfeinern.

Zur Lösung der aktuellen Frage werde ich mal versuchen (VB/A) Zeichnungsbezogene Variablen in ein Dictionary zu bringen und den Rest halt in die Registry. Mit der Sysvar hätte es wohl auch den Nachteil das die im Benutzerprofil steht.

Zur gegeben Zeit würde ich mich aber gerne auf deine und eure Unterstützung freuen um ein wenig an lisp ranzukommen.

Stelli1

------------------
Warum lisp'eln wenn's auch anders geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 29. Sep. 2005 23:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stelli1 10 Unities + Antwort hilfreich

Man sollte sich einfach vor der Vorstellung hüten, dass es in AutoCAd wirklich Sysvars gibt im Sinne einer einheitliche internen Tabelle oder so. Die Sysvars zerfallen ja sowieso schon mal in diejenigen, die in der Zeichnung gespeichert werden, diejenigen, die in die Reg kommen, und dann noch die, die gar nicht gespeichert werden (können).

Bei der Programmierung über ARX oder .NET tritt das deutlich zutage: Da muss man oft sehr verschiedene Wege gehen, um an den Inhalt einer sogenannten 'Sysvar' zu kommen. Die 'Sysvars' sind nur ein Oberflächenkonzept des interaktiven AutoCAD. Eine erweiterbare Tabelle exisitiert definitiv nicht, da nicht mal eine nicht-erweiterbare Tabelle existiert. Und dann existieren auch noch 'Sysvars', die sich dem 'Sysvar'-Mechanismus versagen:-(

Für Applikationsdaten stehen die Uservariablen (sehr begrenzt), Extzended Entity Data sowie die Dictionaries zur Verfügung.

Gruß, Axel Strube-Zettler

------------------
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz