|
Autor
|
Thema: Manuelle Öffnungshöhe (1046 mal gelesen)
|
lcad-maik Mitglied Dipl-Ing. FH

 Beiträge: 33 Registriert: 29.09.2004 AutoCAD bis 2011 ACA 2008 + ACA 2011 pit2008 + pit2011
|
erstellt am: 02. Mai. 2011 14:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo ForumVor vielen Jahren entstand hier im Forum eine kleine aber feine Funktion, mit der man im ADT2005 oder ACA2008 an manuelle Bemaßungen von Fenstern, Türen oder TF-Kombinationen die Höhe dazuschreiben konnte. Dieses Lisp-Tool funktioniert leider in ACA2011 nicht mehr. Habt ihr eine Ahnung, wo der Fehler liegt?
Code:
;; ADT-Öffnungshöhe.lsp ;; ;; Ergänzt Tür oder Fensterhöhen bei manueller AEC Bemassung ;; Entstanden aus Beiträgen im Forum CAD DE zum Thema ;; Dank an tmoehlenhoff und flaschenpost ;; 31 03 2005 Frank Stemper ;;; ;;;--MAIN----MAIN----MAIN----MAIN----MAIN----MAIN----MAIN----MAIN----MAIN----MAIN----MAIN----MAIN---- ;;; (defun c:tfhb (/ oeffnh z hz hz1 hz2 oeffnh_hz dz ech) (setq ech (getvar "CMDECHO")) (setq dz (getvar "DIMZIN")) (setvar "DIMZIN" 0) (if (setq oeffnh (entsel "\nFenster,Tür oder Tür-Fenster-Kombination wählen \noder RETURN für manuelle Eingabe:")) (if (eq "AEC_WINDOW_ASSEMBLY" (cdr (assoc 0 (entget (car oeffnh))))) (setq oeffnh (cdr(assoc 40 (reverse(entget (car oeffnh)))))) (setq oeffnh (cdr(assoc 41 (reverse(entget (car oeffnh)))))) ) ;else (setq oeffnh (getreal "Höhe: ")) ) (if (= ech 0) (princ "Zu ändernden Bemaßungstext wählen:") );end ; ; Original: (setq z (substr (rtos oeffnh 2 3) 1 (strlen (rtos oeffnh 2 2)))), ; ersetzt durch nachfolgende Änderung ; ; Änderung für cm-Anzeige, wenn Höhenangabe unter 1 Meter (if (>= oeffnh 1) (setq z (substr (rtos oeffnh 2 3) 1 (strlen (rtos oeffnh 2 2)))) ;else (setq z (substr (rtos oeffnh 2 3) 3 2)) );end ; Ende der Änderung 15.11.2005 Heck; Änderung für mm-Anzeige, 1-stellig/2-stellig ; letzten 2 Stellen der Öffnungshöhe auslesen (Prüfwert) (setq hz2 (substr (rtos oeffnh 2 4)(strlen (rtos oeffnh 2 3))(strlen (rtos oeffnh 2 3)))) ; letzte Stelle des Prüfwertes auslesen (setq hz1 (substr hz2 2)) ; Prüfung 0 gleich 1-stellig, sonst 2-stellig (if (eq hz1 "0") (setq hz (substr (rtos oeffnh 2 3)(strlen (rtos oeffnh 2 3))(strlen (rtos oeffnh 2 3)))) ;else (setq hz (substr (rtos oeffnh 2 4)(strlen (rtos oeffnh 2 3))(strlen (rtos oeffnh 2 3)))) );end ; Ende der Änderung 16.11.2005 Heck ; Prüfung hz: 0 gleich ohne Hochzahl, sonst mit Hochzahl (if (eq hz "0") (setq oeffnh_hz (strcat "\\X" z)) ;else (setq oeffnh_hz (strcat "\\X" z "\\H.7x;\\S" hz ";")) ) (Command "_.-DimTextOverride" pause "s" oeffnh_hz "") (setvar "DIMZIN" dz) );end ;;; ;;;--------------------------------------------------ENDE--------------------------------------------------- ;;; ;;; (princ "\n") (princ "\ADT-Öffnungshöhe.lsp geladen ") (princ "\nAufruf: tfhb" ) (princ "\n")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
charlieBV Ehrenmitglied V.I.P. h.c. Bauzeichnerin

 Beiträge: 8801 Registriert: 28.08.2003 P4, 2.8GHz,1024MB,80GB, ADT 2005 SP1, XP Pro, ET deutsch, Bem-Tools
|
erstellt am: 03. Mai. 2011 08:13 <-- editieren / zitieren --> Unities abgeben:         
Hi, um die Geschichte zu Vereinfachen hättest du schreiben können, was als Fehlermeldung kommt (wenn eine kommt). Was du auch testen kannst, ob die aus der Zeile (Command "_.-DimTextOverride" pause "s" oeffnh_hz "") hervorgehenden Befehle überhaupt funktionieren. _.-DimTextOverride s Ich bin aber kein Lispler, allerdings wäre das mein Ansatz. ------------------ Gruß Yvonne Inoffizielle ADT-Help-Site "Gehe nicht, wohin der Weg führen mag, sondern dorthin, wo kein Weg ist, und hinterlasse eine Spur." Jean Paul Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lcad-maik Mitglied Dipl-Ing. FH

 Beiträge: 33 Registriert: 29.09.2004 AutoCAD bis 2011 ACA 2008 + ACA 2011 pit2008 + pit2011
|
erstellt am: 03. Mai. 2011 08:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Das manuelle Eintragen bei der Funktion geht (Option RETURN). Aber eigentlich markiert man das Fenster und dann trägt das Tool die Öffnungshöhe automatisch zur Breite des Fensters ein. (Bei AEC-Bemaßung Standard, ohne Maßketten) Nur leider kommt bei ACA2011 die Fehlermeldung: "Fehlerhafter Argumenttyp: numberp: nil" ??? Bei ACA2008 ging es noch. Was ist bei ACA2011 jetzt anders, so dass das Tool die Fensterbreite nicht mehr auslesen kann und dieses einträgt?Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dr-nikolai Moderator CAD-Faktotum
    

 Beiträge: 1534 Registriert: 10.04.2002 ACA 2011
|
erstellt am: 25. Jan. 2012 11:41 <-- editieren / zitieren --> Unities abgeben:         
Hallo,ich muss mal in eigener Sache diesen Beitrag nach oben schubsen. Da ich ja bekanntlich absoluter Lisp-Legastheniker bin, aber dennoch dieses Tool in seiner eigentlichen Bestimmung benötige (automatisch die Öffnungshöhe auslesen zu können), mal meine schamlose Frage an die Lisp-Fraktion: Kann man das mit vertretbarem Aufwand für 2011/2012 gangbar machen? U´s in biblischem Ausmaß, jahrelange Anerkennung sowie Berücksichtigung in meinen Abendgebeten werden der (un)gerechte Lohn sein... Fehlermeldung in ACA 2011: Fenster,Tür oder TFK wählen oder RETURN für manuelle Eingabe:*Abbruch* Fehlerhafter Argumenttyp: numberp: nil ------------------ Gruß, Mario
Erfahrungen macht man immer kurz nachdem man sie gebraucht hätte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tmoehlenhoff Moderator Gutzum, CAD-Therapeut und BIM-Priester ;-)
      

 Beiträge: 2747 Registriert: 14.10.2002 AutoCAD 2012, AutoCAD Architecture 2012, Revit Architecture 2012, Building Design und Honeymoon Suite und das ganze auch gerne mal auf einem Mac
|
erstellt am: 25. Jan. 2012 15:12 <-- editieren / zitieren --> Unities abgeben:         
Hi,die Höhe kann in aktuellen Versionen nicht mehr direkt aus der Liste der Elementdaten ausgelesen werden. Mach mal aus dem (if (eq "AEC_WINDOW_ASSEMBLY" (cdr (assoc 0 (entget (car oeffnh))))) (setq oeffnh (cdr(assoc 40 (reverse(entget (car oeffnh)))))) (setq oeffnh (cdr(assoc 41 (reverse(entget (car oeffnh)))))) ) ein (setq oeffnh (vla-get-Height (vlax-ename->vla-object (car oeffnh)))) und füge sicherhaltshalber unter der (defun c:tfhb Zeile ein (vl-load-com) ein, dann sollte es wieder klappen. sayonara Torsten ACAD-Systemhaus Bremen ------------------ Tadle nicht den Fluss, wenn Du ins Wasser fällst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dr-nikolai Moderator CAD-Faktotum
    

 Beiträge: 1534 Registriert: 10.04.2002 ACA 2011
|
erstellt am: 25. Jan. 2012 16:26 <-- editieren / zitieren --> Unities abgeben:         
Selber Hi,da sage ich ganz artig Danke! ------------------ Gruß, Mario Erfahrungen macht man immer kurz nachdem man sie gebraucht hätte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Harry Plotter Mitglied
 
 Beiträge: 443 Registriert: 12.12.2003 Windows 7 64bit Windows XP 32bit Architecture 2010 Architecture 2009
|
erstellt am: 25. Jan. 2012 16:38 <-- editieren / zitieren --> Unities abgeben:         
Ich habe die Problematik mit einem Block gelöst welchen ich einfüge und dieser dann die Türhöhe aus den Eigenschaften abfragt.Wie wird bei eurer Lösung die Höhe aktualisiert wenn sich die Türhöhe ändert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tmoehlenhoff Moderator Gutzum, CAD-Therapeut und BIM-Priester ;-)
      

 Beiträge: 2747 Registriert: 14.10.2002 AutoCAD 2012, AutoCAD Architecture 2012, Revit Architecture 2012, Building Design und Honeymoon Suite und das ganze auch gerne mal auf einem Mac
|
erstellt am: 25. Jan. 2012 17:11 <-- editieren / zitieren --> Unities abgeben:         
nee, es wird ja nur der Maßtext überschrieben und somit finde keine automatische Änderung statt. Ein MV-Block, der den Wert aus dem Eigenschaftssatz liest ist da sicher eine gute Alternative (da der dieses Problem dann nicht hat. Dafür ist es dann halt ein separates Objekt).sayonara Torsten ACAD-Systemhaus Bremen ------------------ Tadle nicht den Fluss, wenn Du ins Wasser fällst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Harry Plotter Mitglied
 
 Beiträge: 443 Registriert: 12.12.2003 Windows 7 64bit Windows XP 32bit Architecture 2010 Architecture 2009
|
erstellt am: 25. Jan. 2012 19:00 <-- editieren / zitieren --> Unities abgeben:         
Seltsam ist eigentlich an der AEC Bemassung, daß die Türbreite erkannt wird (auch wenn die Tür nicht in der Wand verankert ist) die Türhöhe aber anscheinend aus dem Loch in der Wand ausgelesen wird. Das ist nicht konsequent. (Siehe Attachment). Da kann man wohl auch nichts ändern?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten-0815 Mitglied Schlosser

 Beiträge: 27 Registriert: 03.01.2005 Autocad 2012 Archtectuer
|
erstellt am: 27. Jan. 2012 14:37 <-- editieren / zitieren --> Unities abgeben:         
Moin,Bin auch im Fassadenbau tätig, ist das ein brauchbarer Befehl, den du mir acuh zur Verfügung stellen würdest ? Gruß Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Virsing Mitglied Lohnzeichenbüro, Niederösterreich
 
 Beiträge: 180 Registriert: 02.09.2008 ACA 2012
|
erstellt am: 21. Feb. 2012 11:07 <-- editieren / zitieren --> Unities abgeben:         
Arbeitet niemand von euch mit dem OpenLight Tool um Öffnungen automatisch beschriften zu lassen?Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mazanek Moderator Mädchen für Alles
  
 Beiträge: 600 Registriert: 13.06.2002 mein System: Intel Core i7 1066-7 8GB RAM Windows 7 Pro. 64bit PNY Quadro 1700 Autdesk Building Design Suite Premium 2012<P>HP Designjet T1100
|
erstellt am: 21. Feb. 2012 11:25 <-- editieren / zitieren --> Unities abgeben:         
Oja, aber es ist halt leider sehr Light... ------------------ ciao markus - Der größte Bug sitzt immer VOR dem Bildschirm - Markus Mazanek Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Gute Antworten sowie jede Menge Tipps und Tricks für die Arbeit gibt es auf der cadmesse 2012. Dazu viele gute Ideen und interessante Informationen über die neuen Autodesk Produkte.
Die cadmesse 2012 kommt online vom 23.-25. Mai live und gratis auf Ihren Monitor. 60 CAD-Themen aus 15 Bereichen präsentiert von 80 CAD-Experten.
www.cadmesse.de
|
|
Virsing Mitglied Lohnzeichenbüro, Niederösterreich
 
 Beiträge: 180 Registriert: 02.09.2008 ACA 2012
|
erstellt am: 21. Feb. 2012 13:28 <-- editieren / zitieren --> Unities abgeben:         
Wieso sehr Light? Wo sind die fehlenden Kalorien? Vielleicht sollte ich die Option auch mal überdenken.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |