Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Systemvariablen in Bemaßungsstilen ändern

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:  Systemvariablen in Bemaßungsstilen ändern (3500 mal gelesen)
Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 19. Nov. 2009 15:48    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 Forum,

zugegeben, es ist schon eine Weile her, dass ich mich zuletzt mit LISP auseinander gesetzt habe und ich habe jetzt auch nicht das ganze Forum hier per Suchfunktion umgekrempelt, ich setze jetzt einfach mal in euch, dass ihr mir etwas auf die Sprünge helft bzw. auf den richtigen Weg bringt.

Folgende Problemstellung:
Ich habe eine Zeichnung mit unbekannter Anzahl Bemaßungsstilen mit unbekannten Namen. Ich will diese Bemaßungsstile jetzt ändern, konkret will ich die Farbzuweisung für Linien und Texte (und evtl. die Textausrichtung) anpassen. Sollte eigentlich mal ein einfaches Script werden, habe aber schnell gemerkt, dass das nicht geht.
Wenn ich die Systemvariablen einfach eintippe und ändere, wirkt sich das ja nur auf den aktuellen Stil aus (und erzeugt eine Stilüberschreibung). Ich müsste mich also manuell durch die Stile hangeln, und genau das will ich ja umgehen.

Mein Ansatz:
Ich lese in den Entities die Namen der vorhandenen Bemaßungsstile aus und mache ne Liste draus.
Diese werte ich dann aus, so dass immer ein Stil "zum Bearbeiten" ausgewählt wird, überschreibe dort die entsprechenden Systemvariablen; das Ganze, bis die Liste durch ist.
Dann noch nen Befehlsaufruf drumrum, damit ich das Ganze dann wieder per Script aufrufen kann. (Ins Script kommt noch bissel was anderes rein.)

Ich finde, zum Wiedereinstieg und Auffrischen meiner sehr rudimentären LISP-Kenntnisse ist das doch ne schöne, nicht allzu schwere Aufgabe.

Meine Stolpersteine:
- Wie ist der DXF-Gruppencode für den Bemaßungsstilnamen? Da bin ich noch nicht so recht fündig geworden (und irgendwie stehe ich damit etwas auf Kriegsfuß).
- Wenn ich nach der Listenauswertung einen Namen isoliert habe, wie stelle ich wieder einen Bezug zum Stil her?
- Kann ich die Systemvariablen eigentlich direkt in den Code eingeben, wie ich das im AutoCAD auch mache oder muss ich da anders ran?
- Muss ich vor dem Ändern der Variablen den Bemaßungsstil aktuell setzen (was ja Stilüberschreibungen zur Folge hat) oder kann ich direkt am Bemaßungsstil drehen, ohne irgendwas aktuell setzen zu müssen?


Wahrscheinlich ist das für die Profis unter euch alles total einfach, wäre schön, wenn ihr mir den Weg weisen könntet, dass ich das mal mit Lerneffekt für mich als Erfolgergebnis verbuchen kann.

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 19. Nov. 2009 15:59    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 Musicus 10 Unities + Antwort hilfreich

Wenn Du die Liste der Bemassungsstilnamen hast, dann für jeden Namen über "command" Funktionen:

    Stil aktuell setzen
    Zu ändernde Bem-Variablen nacheinander eingeben (erzeugt Stilüberschreibungen)
    Aktuellen Stil speichern (schreibt alle Stilüberschreibungen in Stil)

That's all

------------------
Ciao,
Marc

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 19. Nov. 2009 16:01    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 Musicus 10 Unities + Antwort hilfreich

...Ach so, Alternativ kannst Du natürlich auch direkt am Stil drehen.
Wenn Du den VL-Lisp Kram kennst und die VLIDE benutzt ist das auch recht schnell zusammengeklöppelt.

------------------
Ciao,
Marc

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

Wolfgang S
Mitglied
CADaver


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

Beiträge: 270
Registriert: 06.03.2006

AC 2009, C3D 2009, AC 2010, C3D 2010, AC 2011, C3D 2011, RVT 2010, RVT 2011, ASD 2011 und alles darunter bis R14 +
Win XP, Win XP64, Win 7/64

erstellt am: 19. Nov. 2009 16:05    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 Musicus 10 Unities + Antwort hilfreich

Servus Musicus!

Da hast Du Dir kein einfaches Thema zum Wiedereinstieg ausgesucht!

prinzipielle Kurzinfo:

- Stile sind als Table zu finden,
(tblsearch "DIMSTYLE" "Annotation")  gibt Dir z.B. einige Infos über den Bemstil "Annotation" aus.

Um an die Entityliste zu kommen musst Du anders vorgehen:
(entget (tblobjname "DIMSTYLE" "Annotation"))

dort findest Du dann einige bekannte DXF-Codes die auch in der ACAD-Hilfe angegeben sind.

Meinen letzten Tests zufolge sind nicht alle neuen Einstellungen sauber zu setzen bzw. zu erreichen.

So kannst Du BemStile für "Radialbemassung" "Durchmesserbemassung" etc. nicht als BemStil aktuell setzen.
Eine Änderung dieser Stile mit der Methode "aktuell setzen - Ändern - Speichern" fällt somit aus.
Über sie Tables kommst Du dann an die Stile die dann z.B. "Annotation#3" heißen


Achtung!

Ein sauberes Aktualisieren der Bemstile mit den neuen Einstellungen konnte ich nur mit der Methode "aktuell setzen - Ändern - Speichern" erreichen.
Das Ändern der GCs in der Table hatte nicht den gewünschten Erfolg. Es wurden dabei zwar die Einstellungen (ab der nächsten neuen Bemassung) geändert, die alten blieben aber unberührt.

vielleicht gibts ja jetzt jemanden der mitliest der das alles schon mal gelöst hat, da bin ich selbst auch gespannt.

Als Einstieg sind die Informationen mal da, ich hoff Du kommst so wieder ein bisschen rein in das Thema

lg
Wolfgang S

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 19. Nov. 2009 16:32    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

Zitat:
Original erstellt von marc.scherer:
Wenn Du die Liste der Bemassungsstilnamen hast, dann für jeden Namen über "command" Funktionen:

    Stil aktuell setzen
    Zu ändernde Bem-Variablen nacheinander eingeben (erzeugt Stilüberschreibungen)
    Aktuellen Stil speichern (schreibt alle Stilüberschreibungen in Stil)

That's all


Das klingt doch mal nach nem Plan. An den Punkt mit dem Speichern hatte ich gar nicht gedacht.

Zitat:
Original erstellt von marc.scherer:
...Ach so, Alternativ kannst Du natürlich auch direkt am Stil drehen.
Wenn Du den VL-Lisp Kram kennst und die VLIDE benutzt ist das auch recht schnell zusammengeklöppelt.


OK, das lass ich dann mal ... wie gesagt, meine Kenntnisse sind noch sehr rudimentär (bin im Kochbuch bis Seite 68 gekommen, hab ich mal als Ersatz für dumm rumsitzen angefangen, seitdem hielt sich die Langeweile im Büro aber sehr in Grenzen bzw. es gab durch Softwareumstieg genug wichtigeres zu lernen).
Habe die VLIDE vorhin mal nem Kollegen gezeigt, der Interesse an dem Thema hat, da war ich schon fast entsetzt, wieviel man doch vergisst, wenn man es nicht anwendet.


Zitat:
Original erstellt von Wolfgang S:
Servus Musicus!

Da hast Du Dir kein einfaches Thema zum Wiedereinstieg ausgesucht!

prinzipielle Kurzinfo:

- Stile sind als Table zu finden,
(tblsearch "DIMSTYLE" "Annotation")  gibt Dir z.B. einige Infos über den Bemstil "Annotation" aus.

Um an die Entityliste zu kommen musst Du anders vorgehen:
(entget (tblobjname "DIMSTYLE" "Annotation"))

dort findest Du dann einige bekannte DXF-Codes die auch in der ACAD-Hilfe angegeben sind.

Meinen letzten Tests zufolge sind nicht alle neuen Einstellungen sauber zu setzen bzw. zu erreichen.

So kannst Du BemStile für "Radialbemassung" "Durchmesserbemassung" etc. nicht als BemStil aktuell setzen.
Eine Änderung dieser Stile mit der Methode "aktuell setzen - Ändern - Speichern" fällt somit aus.
Über sie Tables kommst Du dann an die Stile die dann z.B. "Annotation#3" heißen


Achtung!

Ein sauberes Aktualisieren der Bemstile mit den neuen Einstellungen konnte ich nur mit der Methode "aktuell setzen - Ändern - Speichern" erreichen.
Das Ändern der GCs in der Table hatte nicht den gewünschten Erfolg. Es wurden dabei zwar die Einstellungen (ab der nächsten neuen Bemassung) geändert, die alten blieben aber unberührt.

vielleicht gibts ja jetzt jemanden der mitliest der das alles schon mal gelöst hat, da bin ich selbst auch gespannt.

Als Einstieg sind die Informationen mal da, ich hoff Du kommst so wieder ein bisschen rein in das Thema

lg
Wolfgang S


Findest du? Ich finde es jedenfalls vom Ansatz her bedeutend einfacher mal meine Blockgeschichte beim letzten Mal ... (läuft bis heute nicht richtig, is mir mittlerweile aber auch egal, die Firma hat mir den Einsatz ja doch nicht gedankt)

Da es sich um Architektenpläne handelt, sind Radial- und Durchmesserbemaßungen eher selten drin, und wenn doch, dann muss man da halt doch mal händisch ran. Die würde ich erstmal vernachlässigen.

Ansonsten klingt das jetzt erstmal so, als ob mein ursprünglicher Ansatz so nicht funktioniert.

Ich schau mal, was ich mit (tblsearch "DIMSTYLE" "Annotation") und (entget (tblobjname "DIMSTYLE" "Annotation")) in Erfahrung bringen kann und was es mit Table auf sich hat.

Danke schon mal soweit.

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 24. Nov. 2009 13:10    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

So, hier mein erster Versuch, kann da evtl. mal jemand drüber schauen, ob das alles so funktioniert?

(irgendwie übernimmt es meine Tabulatoren nicht, hoffe es ist trotzdem lesbar)

Code:
(defun c:UPDATE_BEMSTIL (BEMSTILLISTE / STILDEF STILNAME STIL OJEKTDATEN)
  (if (= (type BEMSTILLISTE) 'LIST)
(progn
(setq STILNAME (car BEMSTILLISTE))
(setq BEMSTILLISTE (cdr BEMSTILLISTE))

(if (setq STILDEF (tblsearch "DIMSTYLE" STILNAME))
(progn
(setq STIL (cdr(assoc -2 STILDEF)))
(while STIL
(setq STILNAME (cdr(assoc 2 (entget STIL))))

(if (not (member STILNAME BEMSTILLISTE))
(if (not BEMSTILLISTE)
(setq BEMSTILLISTE (append BEMSTILLISTE (list STILNAME)))
(setq BEMSTILLISTE (list STILNAME))
)
)
)
)
(setq OBJEKTDATEN (entget STIL))
(if (assoc 176 OBJEKTDATEN)
(setq OBJEKTDATEN (subst (cons 176 256)(assoc OBJEKTDATEN)OBJEKTDATEN));DIMCLRD
)
(if (assoc 177 OBJEKTDATEN)
(setq OBJEKTDATEN (subst (cons 177 256)(assoc OBJEKTDATEN)OBJEKTDATEN));DIMCLRE
)
(if (assoc 178 OBJEKTDATEN)
(setq OBJEKTDATEN (subst (cons 178 256)(assoc OBJEKTDATEN)OBJEKTDATEN));DIMCLRT
)
(entmod OBJEKTDATEN)
)
(setq BEMSTILLISTE nil)
)
BEMSTILLISTE
  )

Danke schon mal!

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 24. Nov. 2009 13:35    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 Musicus 10 Unities + Antwort hilfreich

Das kann doch nie und nimmer auch nur "irgendwas" bei dir machen Oder ?
Klammern .. oder auch (assoc -2 ) bei einem DIMSTYLE ???

Ist mir zu hoch, ich glaube ich bin raus 

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 24. Nov. 2009 14:21    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

Tut's auch nicht:

; Fehler: Falsch formatierte Liste in Eingabe

Bin nur noch nicht dahinter gestiegen, warum.

bei (assoc -2) bin ich mir auch nicht sicher, habe einen ähnlichen Code für Blöcke hergenommen und versucht, den umzumünzen auf Bemaßungsstile, bei (assoc -2) hab ich lange rumgerätselt, was mir das bringt, bin aber auch zu keiner besseren Lösung gekommen.

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 12:31    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

Hab noch mal alles übern Haufen geworfen (naja fast) und neu angesetzt, aber irgendwie will es immer noch nicht.

Ich bekomme bei der Prüfung immernoch die Meldung

; Fehler: Falsch formatierte Liste in Eingabe

Helft mir mal auf die Sprünge, wo es klemmt. Danke schon mal.

Hier der Code:

Code:
(defun c:UPDATE_BEMSTIL ( / STILDEF STILNAME BEMSTILLISTE)
  (setq BEMSTILLISTE ())
      (while
(setq STILDEF (tblnext "DIMSTYLE"))
  (setq STILNAME (cdr(assoc 2 (entget STILDEF))))
  (if (member STILNAME BEMSTILLISTE) BEMSTILLISTE
      (setq BEMSTILLISTE (append BEMSTILLISTE (list STILNAME)))
);end if
      );end while
  (BEMSTIL (list (cdr (assoc 2 STILNAME))))


(defun BEMSTIL (BEMSTILLISTE / STILNAME STIL OBJEKTDATEN)
      (setq STILNAME (car BEMSTILLISTE))
      (setq BEMSTILLISTE (cdr BEMSTILLISTE))
      (setq STIL (tblobjname "DIMSTYLE" STILNAME))
      (setq OBJEKTDATEN (entget STIL))
      (if (assoc 176 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 176 256)(assoc OBJEKTDATEN) OBJEKTDATEN))
);end if
      (if (assoc 177 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 177 256)(assoc OBJEKTDATEN) OBJEKTDATEN))
);end if
      (if (assoc 178 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 178 256)(assoc OBJEKTDATEN) OBJEKTDATEN))
);end if
      (entmod OBJEKTDATEN)
);end defun



(warum das die Formatierung jedesmal zerschießt, bleibt mir ein Geheimnis, hier sieht alles schick aus)

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 12:46    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 Musicus 10 Unities + Antwort hilfreich

Formatierung mag das Forum nicht, kannst du nichts dran machen..

Und ob eine Hilfestellung ausreicht bin ich mir nicht sicher:
Der erste richtige Problemfall ist hier:

(setq STILNAME (cdr(assoc 2 (entget STILDEF))))
Kappes, weil STILDEF kein Objektname sondern eine Liste ist.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

gerd3012
Mitglied
Planung Haustechnik


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

Beiträge: 111
Registriert: 24.07.2002

erstellt am: 25. Nov. 2009 13:21    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 Musicus 10 Unities + Antwort hilfreich

Hallo,

ich habe das für mich so gelöst:

(defun c:dim_fa (/ dim_sty dim_nam)
  (setq dim_sty (tblnext "dimstyle" T))
  (while dim_sty
    (setq dim_nam (dxf 2 dim_sty))
    (command "-bemstil" "Ho" dim_nam)
    (setvar "dimclrd" 256) ;->Maßlinien, Pfeilspitzen, Führungslinien
    (setvar "dimclre" 256) ;-> Hilfslinien für Bemaßungen
    (setvar "dimclrt" 256) ;-> Maßtexte
    (setvar "dimltype" "VONLAYER") ;-> Linientyp für Bemaßungslinien
    (setvar "DIMLTEX1" "VONLAYER") ;-> Linientyp für Hilfslinie 1
    (setvar "DIMLTEX2" "VONLAYER") ;-> Linientyp für Hilfslinie 2
    (command "-bemstil" "Si" dim_nam "J")
    (setq dim_sty (tblnext "dimstyle"))
  )
)

Ist natürlich jederzeit optimierbar!!

bis dann
gerd

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 13:27    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

Gutes Argument. Wo ich jetzt drüber nachdenke, eigentlich auch logisch. Ich hab das mit den Rückgabewerten irgendwie noch nicht so verinnerlicht.

Nochmal der erste Teil geändert (was aber nix an der Funktionalität geändert hat):

Code:
(setq BEMSTILLISTE ())
      (while
(setq STILDEF (tblnext "DIMSTYLE"));soll meine Vergleichsbedingung sein, ob Bemaßungsstile vorhanden sind
                                           ;damit auch alle berücksichtigt werden
(setq STILNAME (cdr(assoc 2 (entget (tblnext "DIMSTYLE")))));jetzt greift es aufs Element zu, funktioniert das so?
  (if (member STILNAME BEMSTILLISTE) BEMSTILLISTE
      (setq BEMSTILLISTE (append BEMSTILLISTE (list STILNAME)))
);end if
      );end while
  (BEMSTIL (list (cdr (assoc 2 STILNAME))))

Habt bitte etwas Nachsicht mit mir, wenn ich nicht sofort hinter die Geheimnisse von LISP steige, ich brauche da meistens nen geduldigen Erklärbär, damit ich durchsteige. Und Programmieren jeglicher Art gehörte bisher auch nicht zu meinem "Funktionsumfang".
Aber der Ergeiz ist da ...

[Diese Nachricht wurde von Musicus am 25. Nov. 2009 editiert.]

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

.

erstellt am: 25. Nov. 2009 13:36    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 Musicus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Musicus:
(setq STILNAME (cdr(assoc 2 (entget (tblnext "DIMSTYLE")))));jetzt greift es aufs Element zu, funktioniert das so?

..... nimm
(setq STILNAME (cdr(assoc 2 (tblnext "DIMSTYLE"))))

------------------
  - 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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 14:28    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

Ich hab meinen Hauptfehler gefunden 
Das erste defun hatte keine schließende Klammer. Mit der Zeile von CADmium habe ich jetzt schon mal einen fehlerfreien Code.

Danke an Gerd für deinen Code, habe mir in Anlehnung damit mal noch ne Alternativvariante gestrickt (auch keine Fehlermeldung bei der Prüfung).

Jetzt das Problem:
Gerds Code läuft nicht, da kommt nur die Meldung ; Fehler: Zu viele Argumente
Meine Codevarianten in Anlehnung an Gerds läuft soweit erstmal, auch die Aktuellsetzung der Bemaßungsstile funktioniert, nur die Werte werden nicht geändert.
Meine erste Variante bringt nur die Meldung ; Fehler: Fehlerhafter Argumenttyp: stringp nil

Noch die Codes:
mein neuer:

Code:
(defun c:UPDATE_DIMSTIL ( / STILDEF STILNAME OBJEKTDATEN)
  (setq STILDEF (tblnext "DIMSTYLE" T))
  (while STILDEF
  (setq STILNAME (cdr(assoc 2 (tblnext "DIMSTYLE"))))
  (command "-bemstil" "ho" STILNAME)
  (setq OBJEKTDATEN (entget (tblobjname "DIMSTYLE" STILNAME)))
  (if (assoc 176 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 176 256)(assoc 176 OBJEKTDATEN) OBJEKTDATEN))
  );end if
        (if (assoc 177 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 177 256)(assoc 177 OBJEKTDATEN) OBJEKTDATEN))
  );end if
        (if (assoc 178 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 178 256)(assoc 178 OBJEKTDATEN) OBJEKTDATEN))
  );end if
  (entmod OBJEKTDATEN)
  (command "-bemstil" "si" STILNAME "j")
  (setq STILNAME (tblnext "DIMSTYLE"))
  );end while
);end defun

mein alter:

Code:
(defun c:UPDATE_BEMSTIL ( / STILDEF STILNAME BEMSTILLISTE)
  (setq BEMSTILLISTE ())
      (while
(setq STILNAME (cdr(assoc 2 (tblnext "DIMSTYLE"))))
  (if (member STILNAME BEMSTILLISTE) BEMSTILLISTE
      (setq BEMSTILLISTE (append BEMSTILLISTE (list STILNAME)))
);end if
      );end while
  (BEMSTIL (list (cdr (assoc 2 STILNAME))))
);end defun

(defun BEMSTIL (BEMSTILLISTE / STILNAME STIL OBJEKTDATEN)
      (setq STILNAME (car BEMSTILLISTE))
      (setq BEMSTILLISTE (cdr BEMSTILLISTE))
      (setq STIL (tblobjname "DIMSTYLE" STILNAME))
      (setq OBJEKTDATEN (entget STIL))
      (if (assoc 176 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 176 256)(assoc 176 OBJEKTDATEN) OBJEKTDATEN))
);end if
      (if (assoc 177 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 177 256)(assoc 177 OBJEKTDATEN) OBJEKTDATEN))
);end if
      (if (assoc 178 OBJEKTDATEN)
  (setq OBJEKTDATEN (subst (cons 178 256)(assoc 178 OBJEKTDATEN) OBJEKTDATEN))
);end if
      (entmod OBJEKTDATEN)
);end defun


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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 14:46    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 Musicus 10 Unities + Antwort hilfreich

na damit kann man so langsam arbeiten ..

Zur neueren Version:


(setq STILNAME (cdr(assoc 2 (tblnext "DIMSTYLE"))))
austauschen gegen
(setq STILNAME (cdr(assoc 2 STILDEF)))

(command "-bemstil" "si" STILNAME "j")
austauschen gegen
(command "-bemstil" "ho" STILNAME)

(setq STILNAME (tblnext "DIMSTYLE"))
austauschen gegen
(setq STILDEF (tblnext "DIMSTYLE"))

Nachtrag
Nur mal nebenbei: Dein Code berücksichtigt nicht die Füllfarbe des (MT)Textes - falls das nur vergessen wurde..

Und: So wie der Code dann aussieht muß man 2-3 Dinge noch erwähnen/beachten:
Dein aktueller BemStil wird geändert - daher sollte man evtl. an den Anfang ein
(setq cDimST (getvar"DIMSTYLE"))
und vor der letzten Klammer ein (command "-BEMSTIL "ho" cDimSt) setzen.
Viel wichtiger: Falls in der Datei "gewollte" Stilüberschreibungen existieren, dann werden
diese durch den Code zunichte gemacht.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

[Diese Nachricht wurde von cadffm am 25. Nov. 2009 editiert.]

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 14:56    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

Zitat:
Original erstellt von cadffm:
na damit kann man so langsam arbeiten ..

Das tat jetzt gut!

Zitat:
Zur neueren Version:


(setq STILNAME (cdr(assoc 2 (tblnext "DIMSTYLE"))))
austauschen gegen
(setq STILNAME (cdr(assoc 2 STILDEF)))

(command "-bemstil" "si" STILNAME "j")
austauschen gegen
(command "-bemstil" "ho" STILNAME)

(setq STILNAME (tblnext "DIMSTYLE"))
austauschen gegen
(setq STILDEF (tblnext "DIMSTYLE"))


Also ersteres und letzteres verstehe ich ja, aber das zweite nicht.
Mit (command "-bemstil" "si" STILNAME "j") sichere ich ja den Bemaßungsstil, damit es keine Stilüberschreibungen gibt.

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 15:00    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 Musicus 10 Unities + Antwort hilfreich

du vermischt 2 Ansätze und hast so einene Denkfehler:

1. du kannst SYSTEMVARIABLEN ändern, diese erzeugen auf dem aktuellen
bemstil eine Stilüberschreibung, durch sichern auf den UrsprungsBemStil
übernimmst du dann diese Einstellungen.

Genau das macht dein Code ja aber nicht 

2. du kannst mit Lisp direkt den BemStil ändern - fertig

Genau DAS machst du !

Das setzen des Stiles (setzen, nicht sichern) ist im Moment
eigentlich nur für das löschen von Stilüberschreibungen da..

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 15:12    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

Okay, danke für die Aufklärung.
Hab hier richtig was gelernt heute.

Es funktioniert jetzt soweit, dass es die Stile umdefiniert.
Die in der Zeichnung vorhandenen Bemaßungen ändert es aber erst, wenn ich den Stil nochmal anwende.
Ist ja mit (command "-bemstil" "apply") machbar, aber dafür muss ich einen Auswahlsatz angeben.
Mit -sauswahl geht's nicht (gibt's nicht).

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 25. Nov. 2009 15:16    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 Musicus 10 Unities + Antwort hilfreich

(ssget "_X")

------------------
Mfg Heiko

Elefantenjagd in Afrika
"... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."   (www.uni-leipzig.de/~rotheh/elefant.htm)

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

Steff179
Mitglied
Geomatiker


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

Beiträge: 266
Registriert: 09.08.2007

AutoCAD 2014

erstellt am: 25. Nov. 2009 15:17    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 Musicus 10 Unities + Antwort hilfreich

(ssget "_X" '((DEINFILTER)))

aber achtung so viel es mir ist werden mit _apply alle gewählten bemassungen auf den aktuellen gestellt bin aber nicht sicher.

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 15:19    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

Werden sie auch, deshalb will ich ja vorher alle auswählen, die schon den Bemaßungsstil haben und nur auf diese apply anwenden.

(ssget "_X") hab ich schon mal gehört ... ich werd mich mal belesen.

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 15:23    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 Musicus 10 Unities + Antwort hilfreich

NICHT: (command "BEM" "UPDATE" "alle")
Sorry, das willst du ja garnicht - also mit ssget arbeiten.. SORRY

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

[Diese Nachricht wurde von cadffm am 25. Nov. 2009 editiert.]

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 15:44    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

(command "-bemstil" "a")
(ssget "X" '((0 . "DIMENSION")(-4 . "=")(2 . STILNAME)))

funktioniert aber nicht, weil ich die realtionalen Operatoren nicht mit Zeichenketten verwenden kann. (Steht so im Handbuch.)
STILNAME ist ja die Variable, die den Namen vom Bemaßungsstil enthält, wie bekomm ich die jetzt in den Filter?

[Diese Nachricht wurde von Musicus am 25. Nov. 2009 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 15:56    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 Musicus 10 Unities + Antwort hilfreich

Btw: Nenne deine Funktion mal um, dieses Denglisch ist ja schlimm  

(if (setq AWS (ssget"_X" (list '(0 . "*DIMENSION*")(cons 3 STILNAME))))
    (command "BEM" "update" AWS "" "exit")
)

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

[Diese Nachricht wurde von cadffm am 25. Nov. 2009 editiert.]

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 16:18    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

Hehe, kommt noch, wenn ich fertig bin. Brauchte nur zur Unterscheidung alter und neuer Code fix nen Namen, ist nur ne Arbeitsbezeichnung.

(cons 3 STILNAME) musst mir mal erklären
Steht die 3 nicht für DIMPOST (Prä-/Suffix)?
Und cons fügt doch was in ne Liste ein, eigentlich will ich den Wert der Variablen STILNAME ja nicht verändern.

[Diese Nachricht wurde von Musicus am 25. Nov. 2009 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 16:27    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 Musicus 10 Unities + Antwort hilfreich

sorry    , aber die Laune habe ich dazu nicht mehr 
In der Entwicklerhilfe stehen "alle" DXF-Gruppencodes zu jedem Objekt erklärt.

DIMENSION ist ein anderer Objekttyp wie DIMSTYLE .. schau einfach nach

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 16:31    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

Okay, ich schlag nach.

Funktioniert aber auch nicht so recht, also die Aktualisierung.
Und ja, ich habe AWS mit in die formale Argumentenliste gepackt.

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 16:38    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 Musicus 10 Unities + Antwort hilfreich

Bei mir funktioniert es, daher wirst du entweder einen Fehler
eingebaut haben (Position im Code zB.)oder aber du erwartest
evtl. was anderes als du "programmiert" hast !

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2018
Linear, CATS
Windows 10

erstellt am: 25. Nov. 2009 16:46    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

 
Zitat:
Original erstellt von cadffm:
Bei mir funktioniert es, daher wirst du entweder einen Fehler
eingebaut haben (Position im Code zB.)oder aber du erwartest
evtl. was anderes als du "programmiert" hast !

Ha, das war's! Hab's verschoben, jetzt geht's  

Jetzt bin ich richtig zufrieden mit der Welt, mein erstes selbstgeschriebenes Programm (okay, mit VIEL Hilfe), das auch noch tut, was ich möchte UND ich auch noch weiß, warum!
Vielen Dank an alle Mitdenker, besonders cadffm, für die Hilfe und Anregungen.

[Diese Nachricht wurde von Musicus am 25. Nov. 2009 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Nov. 2009 19:06    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 Musicus 10 Unities + Antwort hilfreich

Weil du für die Aktualisierung der vorhandenen Bemaßungsobjekten einen AutoCAD-Befehl nutzt
(Command ist ja nichts anderes wie eine Tastatureingabe in die Befehlszeile und "BEM" der Befehl -
wirkt sich das Ganze Aktualisieren natürlich nur auf Objekte im aktuellen Bereich aus !

(ssget "_X" wählt zwar auch in allen anderen Layouts/Modellbereich Objekte aus, "BEM"
wirft die Objekte aber wieder aus dem Bearbeitungssatz raus.

Das sollte nun aber die letzte (ungefragte) Info sein dazu denke ich 

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

.

erstellt am: 25. Nov. 2009 20:18    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 Musicus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadffm:
Weil du für die Aktualisierung der vorhandenen Bemaßungsobjekten einen AutoCAD-Befehl nutzt
(Command ist ja nichts anderes wie eine Tastatureingabe in die Befehlszeile und "BEM" der Befehl -
wirkt sich das Ganze Aktualisieren natürlich nur auf Objekte im aktuellen Bereich aus !

(ssget "_X" wählt zwar auch in allen anderen Layouts/Modellbereich Objekte aus, "BEM"
wirft die Objekte aber wieder aus dem Bearbeitungssatz raus.

Das sollte nun aber die letzte (ungefragte) Info sein dazu denke ich  


na dann
(if (setq AWS (ssget"_X" (list '(0 . "*DIMENSION*")(cons 3 STILNAME)(cons 410 (getvar "CTAB")))))
    (command "BEM" "update" AWS "" "exit")
)

------------------
  - 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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 26. Nov. 2009 08:11    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 Musicus 10 Unities + Antwort hilfreich

das ich das noch erleben darf, das CADmium mal so einen Läse postet (in diesem Fall)   

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

gerd3012
Mitglied
Planung Haustechnik


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

Beiträge: 111
Registriert: 24.07.2002

erstellt am: 26. Nov. 2009 09:28    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 Musicus 10 Unities + Antwort hilfreich

Hallo,

da habt ihr ja doch noch eine Lösung erarbeitet.

Die Fehlermeldung aus meinem Code resultiert aus der 4.Zeile

-> (setq dim_nam (dxf 2 dim_sty))

muss allgemeingültig heissen :
-> (setq dim_nam (cdr (assoc 2 dim_sty)))

Damit sollte dann auch mein Code funktionieren.

Gruß
gerd

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

.

erstellt am: 26. Nov. 2009 10:15    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 Musicus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von gerd3012:
Hallo,

da habt ihr ja doch noch eine Lösung erarbeitet.

Die Fehlermeldung aus meinem Code resultiert aus der 4.Zeile

-> (setq dim_nam (dxf 2 dim_sty))

muss allgemeingültig heissen :
-> (setq dim_nam (cdr (assoc 2 dim_sty)))

Damit sollte dann auch mein Code funktionieren.

Gruß
gerd


wo hast du denn (setq dim_nam (dxf 2 dim_sty)) her ?

man kann sich ja (defun dxf (GCODE OBJ)....) schreiben , die genau sowas wie (cdr(assoc GCODE (entget OBJ))) macht ... die fehlt dann wohl bei dir im Code oder wurde nicht mitgepostet ?

------------------
  - 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

gerd3012
Mitglied
Planung Haustechnik


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

Beiträge: 111
Registriert: 24.07.2002

erstellt am: 27. Nov. 2009 12:47    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 Musicus 10 Unities + Antwort hilfreich

Hallo,

ja, genau sone Funktion habe ich.
Darum ja die Ergänzung zur Allgemeingültigkeit (cdr (assoc 2 ...
Habe ich bei meinem ersten Posting glatt übersehen.
Die kleine Arbeitserleichterung sitzt halt schon so drin...

Gruß
gerd

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