| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Sonderwünsche (1127 mal gelesen)
|
Seven Mitglied
Beiträge: 429 Registriert: 20.06.2002 Autocad 2020 Inventor 2022
|
erstellt am: 03. Feb. 2003 17:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Lispler Ich bin leider (noch) nicht Lispler, habe jedoch ein Lispproblem. Auf CadiWiesel habe ich mir das Tool: md_fla besorgt. Es ist Tip Top, doch ich bräuchte einige Abänderungen: Unsere Zeicheneinheit ist cm, md_fla misst aber in m2. logischerweise habe ich daher immer 10x zuviel. Ich brauche nur den m2 Text welchen ich selber absetzen kann, den anderen am Polylinienausgangspunkt nicht. Ich brauche weder den Text "Gesammtfläche" noch das Mass "qm" Der Text sollte 20 Eiheiten gross sein. Mein Erfolg selber was zurecht zu schneiden ist kläglich gescheitert, könnte mir da jemand weiterhelfen. Bitte Quellencode wieder mitliefern, damit ich durch vergleichen was lernen kann? (defun c:md_fla ( / t_2 Ss) ;(if ; (/= (findfile "md_fla.dwg")nil) ;(progn (setq Ss nil t_2 nil) (setq Ss (ssget)) ;;; (setq Ss (ssget (list (cons 0 "POLYLINE")))) ;;; (setq Ss (ssget "X" (list (cons 0 "POLYLINE")))) (setq md_zaehler 0) (setq gesamt 0) (if (not Ss) (princ (strcat "\nNo polylines found.")) ;;ELSE;; (progn (while (setq t_2 (ssname Ss 0)) (setq md_in (cdr (assoc 10 (entget t_2)))) (setq startp md_in) ; (command "") (command "_.area" "_o") (command t_2) (command "_text" startp "0.35" "0" (rtos (getvar "area")2 2)) (setq Ss (ssdel t_2 Ss));;Remove this member;; (princ md_zaehler) (setq md_zaehler (1+ md_zaehler)) (setq einzel (atof (rtos (getvar "area")2 2))) (setq gesamt (+ gesamt einzel)) );ende while (princ "\n") (princ (strcat "\n*****Gesamtfläche: " (rtos gesamt 2 2)" qm"))(terpri) ;(command "_.Insert" "md_fla" startp "1" "1" "0" (rtos (getvar "area")2 2)) (setq start (getpoint "Einfügepunkt:")) (setq gesfla (strcat "Gesamtfläche: "(rtos gesamt 2 2) "qm")) (command "_text" start "0.35" "0" gesfla) );endprogn );endif ;ende progn ;end if (princ) ) Seven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 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: 03. Feb. 2003 18:13 <-- editieren / zitieren --> Unities abgeben: Nur für Seven
Hi Seven, Code:
(defun C:MD_FLA (/ EINZEL GESAMT MD_IN MD_ZAEHLER SS START STARTP T_2) (setq SS (ssget '((0 . "*POLYLINE"))) MD_ZAEHLER 0 GESAMT 0 ) ;_ end setq (if (not SS) (princ (strcat "\nKein Polylinien gefunden.")) ;;ELSE;; (progn (while (setq T_2 (ssname SS 0)) (setq MD_IN (cdr (assoc 10 (entget T_2))) STARTP MD_IN ) ;_ end setq (command "_.area" "_o") (command T_2) ;;Remove this member;; (princ MD_ZAEHLER) (setq SS (ssdel T_2 SS) MD_ZAEHLER (1+ MD_ZAEHLER) EINZEL (atof (rtos (getvar "area") 2 2)) GESAMT (+ GESAMT EINZEL) ) ;_ end setq ) ;ende while (setq GESAMT (rtos (/ GESAMT 10.0) 2 2)) ;; Hier wird der berechnete Wert nochmal durch 10 geteilt, wg: ;; "logischerweise habe ich daher immer 10x zuviel." (princ "\n") (princ (strcat "\n*****Gesamtfläche: " GESAMT) ) ;_ end princ (terpri) (setq START (getpoint "Einfügepunkt:")) ;_ end setq (command "_text" START "20" "0" GESAMT) ) ;_ end progn ) ;_ end if (princ) )
Ich verstehe jedoch: "Unsere Zeicheneinheit ist cm, md_fla misst aber in m2. logischerweise habe ich daher immer 10x zuviel" nicht ganz..." überhaupt nicht. Wenn Du in cm ein Quadrat mit 1x1 zeichnest, rechnet das Pgm doch richtig, 1cm x 1cm gibt 1cm². Warum dieser Faktor? Da stimmt was in Deiner Systematik nicht.
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seven Mitglied
Beiträge: 429 Registriert: 20.06.2002 Autocad 2020 Inventor 2022
|
erstellt am: 04. Feb. 2003 09:42 <-- editieren / zitieren --> Unities abgeben:
|
Seven Mitglied
Beiträge: 429 Registriert: 20.06.2002 Autocad 2020 Inventor 2022
|
erstellt am: 06. Feb. 2003 10:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc Ich habe deine Version von MD_FLA kräftig getestet. Nun will sie aber nicht ganz. Mit grösster Warscheinlichkeit liegt es aber nicht an deinem Lisp. Wenn ich das Tool in einer neuen Zeichnung verwende, ist alles kein Problem. Verwende ich es in einer bisherigen Zeichnung, klappt es auch bis und mit Messung, sogar der text wird gesetzt, doch die Summe der angezeigte Zahl ist immer Null. Lustigerweise ist diese 20° gedreht und 4 Einheiten gross. Was ist das? gibt es Zeichnungseinstellungen welche das Lisp belästigen? Seven (defun C:MD_FLAGL (/ EINZEL GESAMT MD_IN MD_ZAEHLER SS START STARTP T_2) (setq SS (ssget '((0 . "*POLYLINE"))) MD_ZAEHLER 0 GESAMT 0 ) ;_ end setq (if (not SS) (princ (strcat "\nKein Polylinien gefunden.")) ;;ELSE;; (progn (while (setq T_2 (ssname SS 0)) (setq MD_IN (cdr (assoc 10 (entget T_2))) STARTP MD_IN ) ;_ end setq (command "_.area" "_o") (command T_2) ;;Remove this member;; (princ MD_ZAEHLER) (setq SS (ssdel T_2 SS) MD_ZAEHLER (1+ MD_ZAEHLER) EINZEL (atof (rtos (getvar "area") 2 2)) GESAMT (+ GESAMT EINZEL) ) ;_ end setq ) ;ende while (setq GESAMT (rtos (/ GESAMT 10000.0) 2 2)) ;; Hier wird der berechnete Wert nochmal durch 10000 geteilt, wg: ;; "logischerweise habe ich daher immer 10000x zuviel." (princ "\n") (princ (strcat "\n*****Gesamtfläche: " GESAMT) ) ;_ end princ (terpri) (setq START (getpoint "Einfügepunkt:")) ;_ end setq (command "_text" START "20" "0" GESAMT) ) ;_ end progn ) ;_ end if (princ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seven Mitglied
Beiträge: 429 Registriert: 20.06.2002 Autocad 2020 Inventor 2022
|
erstellt am: 06. Feb. 2003 11:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc Ich glaube ich habe bereits den Störbefehl. Soviel zum F2 Doch wie kommt das? Befehl: _MD_FLAGL Objekte wählen: 1 gefunden
Objekte wählen: _.area Ersten Eckpunkt angeben oder [Objekt/Addieren/Subtrahieren]: _o Objekte auswählen: Fläche = 6671.65, Umfang = 605.91 Befehl: _MD_FLAGL Objekte wählen: 1 gefunden
Objekte wählen: _.area Ersten Eckpunkt angeben oder [Objekt/Addieren/Subtrahieren]: _o Objekte auswählen: Fläche = 6671.65, Umfang = 605.91 Befehl: 0 *****Gesamtfläche: .67 Einfügepunkt:_text Aktueller Textstil: "STANDARD" Texthöhe: 4.00 Startpunkt des Texts angeben oder [Position/Stil]: Höhe angeben <2.00>: 20 Drehwinkel des Texts angeben <20d0'0">: 0 Text eingeben: .67 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 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: 06. Feb. 2003 11:06 <-- editieren / zitieren --> Unities abgeben: Nur für Seven
|
Seven Mitglied
Beiträge: 429 Registriert: 20.06.2002 Autocad 2020 Inventor 2022
|
erstellt am: 06. Feb. 2003 11:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc Geht nicht, ich bin per Verbot nicht befugt Zeichnungen rausrücken zu dürfen. ich find's saudumm für so einen Fall, kann aber nichts tun. Das was die Befehlszeile sagt, hab ich ja schon rausgestellt. Wenn das nicht genügt, dann muss ich mir was ausdenken um das bossliche Verbot hübsch umgehen zu können hehehe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 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: 06. Feb. 2003 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für Seven
Hi Seven, das ist doch wohl nicht so schwer. Kopie von der Zeichnung machen, ALLES löschen, zu mir schicken. Aber wenn's halt nicht geht, gehts nicht. Ich habe aber auch keine Lust mir über ALLE Eventualitäten Gedanken zu machen. Also, wenn es nicht geht, check mal den Textstil auf permanente Höheneinstellung. ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seven Mitglied
Beiträge: 429 Registriert: 20.06.2002 Autocad 2020 Inventor 2022
|
erstellt am: 06. Feb. 2003 17:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc Ich habe versucht die Zeichnung zu mailen, doch irgendwie ging's nicht, doch wenn ich den Schriftstil auf Standart setze, dann habe ich dieses Problem nicht mehr. Vielen Dank mal bis hierher. Seven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |