| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Autodesk AutoCAD Plant 3D, ein Seminar am 17.03.2025
|
Autor
|
Thema: Steigende Positionsnummer (4689 mal gelesen)
|
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 12. Sep. 2010 10:35 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, sitze gerade am Erstellen einer neuen Vorlage. Beim Durchgehen der Arbeitsabläufe ist uns aufgefallen, dass wir bei jeder Bestellung, jedes Teil einzeln Beschriften, dass sieht dann meist so aus. Pos. 1 n Stück Material Länge Soweit so gut. Da ich ja jetzt an der Vorlage sitze, dachte ich mir das ganze wäre als Block mit Attributen super und wo ich schon drüber bin, wäre es auch gut wenn sich die Positionsnummer automatisch erhöht, also bei jedem einfügen oder wenn möglich bei jedem Kopieren. Habe jetzt schon eine einige Zeit mit den Attributen rumgespielt allerdings noch kein Ergebnis erzielt. Irgendwie müsste der neue Block vom vorherigen die Nummer+1 abholen und ausgeben, nur woher soll der arme Block wissen wer sein Vorgänger ist? Es sollte auf AutoCAD 2009 und AutoCAD 2010 LT lauffähig sein, Lisp fällt da denke ich aus. Für jede Art von Denkanstoss, bin ich dankbar.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 12. Sep. 2010 10:56 <-- editieren / zitieren -->
Hi, >> und AutoCAD 2010 LT lauffähig sein Das ist IMHO die wesentliche Aussage an der ganzen Fragestellung, in diesem Fall gäbe es nur die manuelle Zuweisung des letzten Blocks und damit schon gleich der Zusatz, das wird durch händisches Schriftfeld einsetzen aufwendiger, als den Wert gleich direkt im Attribut eintragen. Selbst mit AutoCAD ist der Automatismus (direkt beim Einfügen) mit Programmierung nicht so easy, wenn Du mal eine ganze Baugruppe (mit mehreren Positionsnummernangaben) von einer Zeichnung in die nächste kopierst/einfügst/.... Ev. könnte mit Speicherung der jeweils letzten Positionsnummer in einer USER-Systemvariablen und Diesel was gemacht werden, aber Diesel ist leider nicht meins, daher nur als 'Denkansatz' hier erwähnt. Sorry, - alfred - ------------------ www.hollaus.at |
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 12. Sep. 2010 11:31 <-- editieren / zitieren --> Unities abgeben:
Ok, kann man eigene Systemvariablen erstellen? Aber selbst wenn, müsste jeder Block diese Variable abholen und um 1 erhöhen. Was passiert aber wenn die Attribute bearbeitet werden. Dann nimmt jeder Block eine neue Nummer und erhöht diese wieder um 1? Ich habe mir schon gedacht das der Geschwindigkeitsfaktor nicht deutlich höher ist als das ganze mittels Attribut zu erstellen, allerdings wird es ab 20 Positionen unterschiedlicher Größe schnell unübersichtlich und Nummern werden doppelt vergeben, was dann zu durcheinander in der Fertigung führt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 12. Sep. 2010 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Moin, für eigene Zwecke stellt ACAD die USER-Variablen zur Verfügung: USERI 1-5 für Ganzzahlen (Integer) USERR 1-5 für reele Zahlen (Real) USERS 1-5 für Zeichenfolgen (String) Ich weiß jedoch nicht, ob es die auch im LT gibt, lt. www.cadforum.cz ja. Ich geb zu, dass die ACAD-Hilfe an der Stelle DIESEL-Ausdrücke in Makros etwas trocken ist und bin da selbst noch nie wirklich durch. Im Forum findest Du schon das ein oder andere Makro, von dem Du dann abgucken kannst. Such sowas im LT-Brett, die LT'ler sind traditionell erfinderischer in Sachen Makro, denn das ist ihre einzige Chance auf Automatisierung. Hier mal ein Beispiel für's Hochzählen einer solchen USERI1 von mir, Zweck war damals ein automatisiertes Schriftfeld, welches die Anzahl der Plots auf einem Plan ausgibt. Den code dort kannst Du so nicht in LT verwenden, der ist dort nicht in DIESEL, aber die setenv/getenv, die für LT funktionieren, kennst Du ja aus Deinem letzten thread. Es gibt weit schönere und umfangreichere codes im Forum. (als Suchbegriff "typische" DIESEL-Ausdrücke verwenden, also "$(" sollte drin auftauchen). Du hast also 5 (bis max 15, je nach verwendbarem Typ) Variablen zur Verfügung, Block A nutzt USERI1, Block B USERI2, usw., Deine 20 Blöcke da unterzubekommen, ich weiß nicht wie erfinderisch Du bist, könnte arg anstrengend werden. Ein weiteres Prob dabei hast Du ja selbst schon erkannt: "nur woher soll der arme Block wissen wer sein Vorgänger ist?" Stell ich mir selbst mit Programmiermöglichkeit nicht so einfach vor, auch wg. "bei jedem einfügen oder wenn möglich bei jedem Kopieren." Mal laut gedacht, ohne Erfahrung und/oder Tests darin: sowas wie Datenextraktion oder -EATTEXT (die "alte" Attributsextraktion) könnte evtl. etwas mit Deinen Wünschen zu tun haben. Ob Du es damit lösen (oder zumindest vereinfachen) kannst, mußt Du selber testen. Zumindest würd ich damit wohl eine Liste pflegen, auf der man die nächste freie Nummer ablesen kann. [rredit] laut gedacht Teil 2: Vielleicht mit einem timestamp arbeiten und dann am Ende des Tages ein skript drüberjagen, welches je Block alle timestamps sammelt und nach Reihenfolge neu durchnummeriert? Frag nicht nach Beispielcode, ich hab keine Ahnung ob und wenn ja wie das ablaufen könnte [/rredit] Erfolgreichen Sonntag noch ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope [Diese Nachricht wurde von runkelruebe am 12. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 13. Sep. 2010 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo at1337, Hier hatte jemand ein ähnliches Problem und dort gibt es einen interessanten Beitrag in den Autodesk Foren. Du kannst mit <_setenv> eigene Umgebungsvariablen definieren. Zunächst setzt Du mit <_setenv[enter]autonumber1[enter]1[enter]> die Zahl, bei der zu zählen begonnen wird auf 1 und mit <_setenv[enter]autonumber2[enter]Pos.[enter]> Den Text <Pos.> als Präfix. Anschließend kannst Du mal folgendes Makro: <*^C^C-MTEXT;\_JUSTIFY;_MC;@0,0;$M=$(GETENV,AUTONUMBER2)$M=$(GETENV,AUTONUMBER1);;SETENV;AUTONUMBER1;$M=$(+,$(GETENV,AUTONUMBER1),1)> auf einen eigenen Schalter legen und ausprobieren. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 13. Sep. 2010 09:10 <-- editieren / zitieren --> Unities abgeben:
Scheiter daran: Befehl: Befehl: _SETENV Unbekannter Befehl "SETENV". Drücken Sie F1-Taste für Hilfe. Befehl: AUTONUMBER1 Unbekannter Befehl "AUTONUMBER1". Drücken Sie F1-Taste für Hilfe. Ich hatte es als Buttonmakro abgelegt und hab den Befehl so probiert, beides läuft nicht, dass einzige was so ähnlich ist ist setvar. Oder seh ich den Befehl vor lauter Buchstaben nicht? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 13. Sep. 2010 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Das Makro kann auch nur laufen, wenn vorher beide Variablen gesetzt wurden. Schau mal, ob die Befehle <getenv> und <setenv> in Deiner AutoCAD-Hilfe auftauchen. Bei mir sind beide Befehle aufgeführt (AutoCAD 2009 LT). Der vorangestellte Tiefstrich ist offenbar nicht erforderlich, bei mir laufen aber beide Varianten. Da Du das aktuellere AutoCAD hast, sollte das bei Dir auch so sein. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 13. Sep. 2010 10:29 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 13. Sep. 2010 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
|
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 13. Sep. 2010 11:00 <-- editieren / zitieren --> Unities abgeben:
So was... eigentlich sollte die Vollversion doch alles können was LT auch kann... naja letzter Versuch bevor ich diese Geschichte ins Datennirvana jage. In der Vollversion kann ich scheinbar keine neuen Variablen erstellen. Der Befehl setvar fragt nach einer vorhandenen Variable... also geht da nix. so jetzt die Frage ich habe in den Zeichnungseigenschaften die Benutzerdefinierten Eigenschaften entdeckt. Dort hab ich spaßhalber eine neue Angelegt und diese "pos" genannt. Jetzt taucht diese in der Schriftfeldkategorie "Dokument" auf. [%<\AcVar CustomDP.Pos>%]. Kann ich diese irgendwie mit Diesel abholen? Denn dann würde ja ein Makro wie oben unter Umständen Funktionieren.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 13. Sep. 2010 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo runkelruebe, mir ist der Unterschied dann aber auch nicht klar. Nachfolgend vier Auszüge aus meiner AutoCAD 2009 LT Hilfe: --- GETENV: Zeigt Werte der angegebenen Variablen der Registrierungsdatenbank des Systems an Befehlseingabe: GETENV Variablennamen eingeben: Geben Sie den Namen der Variablen ein. Die Werte der Systemregistrierungsvariablen können mit GETENV angezeigt werden. Verwenden Sie GETENV zum Anzeigen der Registrierungseinstellungen der Registrierungsvariablen MaxArray und MaxHatch. Bei GETENV muss die Groß- und Kleinschreibung beachtet werden, d. h. MaxArray und MaxHatch müssen genau wie dargestellt eingegeben werden. Geben Sie also zum Anzeigen des aktuellen Wertes für MaxHatch Folgendes ein Befehl: GETENV Variablennamen eingeben: MaxHatch 10000 --- getvar Gibt den Wert der Systemvariablen mit dem Namen Variable zurück. $(getvar, Variable) --- Dieser Befehl läuft bei mir, im Gegensatz zu den drei anderen, nur innerhalb von Diesel-Funktionen. --- SETENV Legt Werte von angegebenen Registrierungsvariablen fest Befehlseingabe: setenv Variablennamen eingeben: Geben Sie einen Namen an. Wert: Geben Sie für die Variable einen neuen Wert ein. Verwenden Sie SETENV zum Anzeigen der Registrierungseinstellungen für die Registrierungsvariablen MaxArray und MaxHatch. AnmerkungBei SETENV muss die Groß- und Kleinschreibung beachtet werden, d. h. MaxArray und MaxHatch müssen genau wie oben dargestellt eingegeben werden. --- SETVAR Zeigt die Werte von Systemvariablen an oder ändert sie Befehlseingabe: setvar (oder 'setvar als transparenter Befehl) Name der Variable eingeben oder [?] <aktuell>: Geben Sie einen Variablennamen ein, oder ? ein, oder drücken Sie die EINGABETASTE. Variablenname Geben Sie den Namen der einzustellenden Variable an. Neuen Wert für Variablenname <aktuell> eingeben: Geben Sie einen neuen Wert ein, oder drücken Sie die EINGABETASTE. Sie können die Werte von Systemvariablen auch an der Eingabeaufforderung ändern, indem Sie den Namen der Variablen eingeben und den Wert entsprechend ändern. ?—Liste der Variablen Zeigt eine Liste aller Systemvariablen in der Zeichnung sowie die jeweils aktuelle Einstellung an. Aufzulistende Variable(n) eingeben <*>: Geben Sie ein Namensschema mit Platzhalterzeichen ein, oder drücken Sie die EINGABETASTE. --- <getenv> und <setenv> beziehen sich nach meiner Ansicht auf sogenannte Umgebungsvariablen "ENVironment". <getvar> und <setvar> auf Systemvariablen. Falls mir da etwas durcheinander gekommen ist, bitte ich um Richtigstellung. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 13. Sep. 2010 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hi Ingo, OK, so wie's momentan ausschaut, haste mich ich kann's mangels LT auch leider nicht weiter testen, Fakt ist nur, dass ich setenv in meinem ACAD als Befehl nicht drin hab (auch nicht in der Hilfe), wohl aber wie von Dir richtig bemerkt, im Hilfeteil des MaxArray. Lt. cadforum.cz handelt es sich dabei um einen LT-Befehl. Inwieweit der jetzt von beiden Versionen im DIESEL verwendbar ist, kann ich nicht sagen. Deine Varainte mit dem setenv funzt in der VV über die Zeile (setenv "testDat1" "5") und dann wieder mit (getenv "testDat1") und es kann der Wert über diesel mit $(getenv, "testDat1") in ein Schriftfeld übernommen werden. Mit DIESEL bist Du bedeutend bewandter als ich, ich denke, ich werde Dir wohl doch besser das Feld überlassen Falls ich jetzt zur allgemeinen Verwirrung beigetragen habe, tut mir das leid ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope [Diese Nachricht wurde von runkelruebe am 13. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 13. Sep. 2010 12:26 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo at1337, Du könntest einen normalen MText mit dem Inhalt: <Pos. > anlegen. In einen weiteren MText fügst Du dann ein Schriftfeld der Kategorie <Objekt> ein, wählst das Objekt (den ersten MText) und wählst unter Eigenschaft <Inhalt>. Anschließend käme dann die Autonummerierung. Schau mal in beiden AutoCAD-Versionen, welche der Befehle getvar, getenv, setvar und setenv laufen. Mit den Zeichnungseigenschaften habe ich noch nicht gearbeitet. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 13. Sep. 2010 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Da gibt es doch tatsächlich etwas in LT, was die VV nicht kann. AutoCAD (VV) kennt die Befehle getenv und setenv (im Normalfall) nicht, also würde das selbe Makro, das in LT läuft in VV nicht laufen. Ärgerlich, aber abstellbar, indem man in der VV einfach die Befehle vorher definiert, dann läuft das LT-Makro auch in der VV: Code: (defun c:getenv (/ env_name) (if (/= (setq env_name (getstring "Variablennamen eingeben: ")) "") (getenv env_name) ) )(defun c:setenv (/ env_name value) (if (and (/= (setq env_name (getstring "Variablennamen eingeben: ")) "") (/= (setq value (getstring "Wert: ")) "") ) (setenv env_name value) ) )
Grüsse, Henning------------------ zur Abstimmung Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 13. Sep. 2010 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo runkelruebe, naja, bei mir ist beim dieseln das meiste auch eher das Ergebnis von Versuch und Irrtum und nicht von wissendem Durchblick. Allerdings scheint das bei Autodesk höchstselbst auch so zu sein. Beim nochmaligen überfliegen der von mir geposteten Auszüge aus den Hilfetexten steht z.B. zur Variable <setenv> folgendes: <Legt Werte von angegebenen Registrierungsvariablen fest> Unter <setvar> steht: <Zeigt die Werte von Systemvariablen an oder ändert sie>. Das ist vielleicht nur ein Übersetzungsfehler. Statt <Registrierungsvariablen> müßte es nach meiner Ansicht <Umbebungsvariablen> heißen. Dagegen beschreiben die Begriffe <Systemvariable> und <Registrierungsvariable> IMHO dasselbe. Zitat: Falls ich jetzt zur allgemeinen Verwirrung beigetragen habe, tut mir das leid
Gottseidank bleibt der Spaß dabei nicht auf der Strecke! mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 13. Sep. 2010 18:38 <-- editieren / zitieren --> Unities abgeben:
So nach etlicher Bastelei läuft es jetzt so wie ich das wollte. zuerst Block Namens "POS", erstellt im Block die Attribute definiert, unteranderem auch ein Attribut Namens "Position" Dann folgendes Lisp geladen: Zitat: Original erstellt von wronzky:
Code: (defun c:getenv (/ env_name) (if (/= (setq env_name (getstring "Variablennamen eingeben: ")) "") (getenv env_name) ) )(defun c:setenv (/ env_name value) (if (and (/= (setq env_name (getstring "Variablennamen eingeben: ")) "") (/= (setq value (getstring "Wert: ")) "") ) (setenv env_name value) ) )
Grüsse, Henning
vielen Dank jetzt läufts auch in der Vollversion. Dann ATTDIA auf 0 gestellt. Folgendes Buttonmakro in der Werkzeugpalette abgelegt. ^C^C_insert;pos;\;;;$M=$(GETENV,POSBEZ)$M=$(GETENV,POSNUMMER);\\\SETENV;POSNUMMER;$M=$(+,$(GETENV,POSNUMMER),1) und es geht! Dabei ist mir noch Aufgefallen, da jetzt ATTDIA aus ist, sollte eigentlich kein Dialog mehr aufgehen. Allerdings; ein Block der Vorher in eine Palette gezogen wurde nimmt scheinbar den ATTDIA Status mit und fragt trotzdem über einen Dialog ab, ganz schön schlau die Werkzeugpalette. Jetzt noch eine Frage kann mir diesen Befehl irgendwie in die PGP-Datei schreiben? Das er zum Beispiel über "pos" aufgerufen wird? Merci an alle! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 14. Sep. 2010 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo at1337, bei mir liegt die acadlt.pgp in folgendem Pfad: C:\Dokumente und Einstellungen\"ANWENDERNAME"\Anwendungsdaten\Autodesk\AutoCAD LT 2009\R14\deu\Support Wenn man die Datei mit einem Texteditor öffnet, kann man eine Anleitung zum erstellen von selbst definierten Kürzeln lesen. In der Vollversion heißt sie vermutlich acad.pgp mfg, Ingo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 14. Sep. 2010 08:32 <-- editieren / zitieren --> Unities abgeben:
OK, sorry hab nicht geschrieben dass ich weiß wo die PGP ist, Meine Frage ist wie ich den Befehl reinschreiben muss, mit pos, *^c^c_insert ..... funktioniert es auf jedenfalls nicht da kommt: "Unbekannter Befehl "POS". Drücken Sie F1-Taste für Hilfe." wenn ich in der PGP schreibe pos, *rechteck wie es bei re auch ist kennt er den Befehl immer noch nicht. Irgendwas mache ich wohl falsch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 14. Sep. 2010 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Wie lautet denn genau Dein Befehlsname und Befehls-Anzeigename (In der CUI direkt über der Zeile <Makro> )? Erst muss der Befehl hier definiert sein, dann kann in der PGP darauf Bezug genommen werden. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
at1337 Mitglied
Beiträge: 23 Registriert: 09.09.2006 Autocad 2009 & LT 2007 / 2010
|
erstellt am: 14. Sep. 2010 11:09 <-- editieren / zitieren --> Unities abgeben:
Name: POSITIOn Befehlsanzeige-Name:POSITION Makro: ^C^C_insert;pos;\;;;$M=$(GETENV,AUTONUMBER2)$M=$(GETENV,AUTONUMBER1);\$M=$(GETENV,POSMAT);\SETENV;AUTONUMBER1;$M=$(+,$(GETENV,AUTONUMBER1),1) IN der PGP hab ich folgendes Hinzugefügt:
POS, *Position Jetzt kommt bei der eingabe von POS: Befehl: pos Unbekannter Befehl "POSITION". Drücken Sie F1-Taste für Hilfe. Muss der Befehl noch irgendwo definieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 14. Sep. 2010 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
|
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 14. Sep. 2010 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Was passiert denn, wenn Du den vollständigen Befehlsnamen eingibst, um den Befehl auszuführen? Jetzt beim ausprobieren habe ich bei mir festgestellt, dass ich meine eigenen Befehle auch nicht über das eintippen des Befehlsnamens bzw. Befehls-Anzeigenamens (dieser müsste nach meiner Ansicht maßgeblich sein!?) aufrufen kann. Normalerweise arbeite ich über Werkzeugkästen. Dort funktionieren meine selbst erstellten Befehle. Jetzt weiß ich nicht, ob ich an dieser Stelle eine Wissenslücke habe oder ob in meinem AutoCAD etwas zerschossen ist. Vielleicht kann hier jemand anderes Licht ins Dunkel bringen? mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 14. Sep. 2010 14:03 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo runkelruebe, Zitat: auch wenn ich in diesem thread schon mal so halb daneben lag
Wieso daneben? Der Hinweis auf die entsprechenden Sysvars war doch genau richtig! Aus Deinem Beispiel-thread entnehme ich folgendes: Zitat: Kann man für eigene Befehlsfolgen (Scripte, Makros oder wie sie sonst heißen) eigene Aliasnamen vergeben, die dann auch - wie ein Standardbefehl - über die Befehlszeile bzw. als Kurztastenbefehl über die PGP-Konfiguration aufgerufen werden können??
Zitat: leider nein, ABER: Du kannst Dir in AutoCAD eigene Befehle erstellen, die einfachste Form mittels LISP.
Diesen neu erstellten Befehlen kann man in der CUI im Bereich <Eigenschaften> sowohl einen Befehlsnamen, als auch einen <Befehls-Anzeigenamen> zuweisen. Bisher war ich der Ansicht, dass zweiter auch die Zeichenfolge für den Befehlsaufruf über Tastatur entspricht. Wenn ich an dieser Stelle falsch liege, bitte ich um Richtigstellung. In diesem Fall wird man dann auch mit der PGP nicht weiterkommen, da es ja keinen Befehlsnamen gibt, dem man ein Alias zuordnen könnte. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 15. Sep. 2010 07:54 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
Hallo at1337, Offenbar habe ich mich mit meiner Behauptung geirrt, selbst definierte Befehle auch über Tastatureingabe aufrufen zu können. Wenn man aber solche Befehle nicht mit ihrem normalen Namen aufrufen kann, kann man diesen Namen dann auch keine Alias-Namen in der PGP zuweisen. Alternativ ginge aber die Zuweisung eines Shortcuts. Im Anhang befindet sich eine pdf-Datei, die das Vorgehen im CUI veranschaulicht. Dort habe ich meinem Schaltermakro <Position> die Tastenkombiantion [STRG+4] zugewiesen. mfg, Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 16 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2017 SP1 - deutsch
|
erstellt am: 15. Sep. 2010 07:58 <-- editieren / zitieren --> Unities abgeben: Nur für at1337
|