| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Bemassungslinien brechen (2283 mal gelesen)
|
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 18. Okt. 2011 09:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Der Befehl _Dimbreak (Befehl BEMBRUCH)(in AutoCAD2012) funktioniert im Auto-Modus (Initialmodus) nicht besonders gut. Das ergibt manchmal komische Gebilde. Im Manuel-Modus, ist das Ding aber gut zu gebrauchen. Nur ist es mühsam, immer die m-Taste drücken zu müssen. Kennt Jemand ein Lisp oder einen Codeschlüssel, oder sowas, mit dem man den _Dimbreak-Befehl, direkt im Manuel-Modus aufrufen kann? Mit freundlichen Grüssen! Cader52 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 18. Okt. 2011 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für Cader52
|
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 19. Okt. 2011 13:31 <-- editieren / zitieren --> Unities abgeben:
Hallo CADchup Danke für den Code! Funktioniert sehr gut! Einen Schönheitsfehler hat das Ganze noch. Wenn ich nach dem Start (Objekt wählen), ein nicht unterstütztes Objekt anwähle, (Linie, Führung, etc.) wird das "_m", für "mehrere" interpretiert. Ist nicht weiter schlimm, durch drücken der Entertaste, wird der Befehl beendet. Durch nochmaliges drücken der Entertaste, wird das Macro wiederholt. Doch meine Frage: Ist das noch möglich, diese Fehl-Auswahl einfach zu ignorieren, so dass der befehl, in der Startposition (Objekt wählen) weiterläuft. es sollte einfach nichts passieren, bis ich ein gültiges Objekt anwähle. Mit freundlichen Grüssen! Cader52 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 19. Okt. 2011 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für Cader52
|
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 19. Okt. 2011 15:17 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium Danke für den Code! Doch leider verursacht der in ACAD2012 einen Fehler! Objekt wählen: ; Fehler: Fehlerhafter Argumenttyp: lentityp (<Objektname: 7e532228> (358.269 11.9069 0.0)) Mit freundlichen Grüssen! Cader52
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 19. Okt. 2011 15:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Habe zu früh reklamiert! Der Fehler war auf meiner Seite. Doch funktionirt das Ganze trotzdem nicht. So wie es aussieht, gibt die Routine "_DimBreak" von ACAD da eine Meldung heraus. Objekt wählen: _dimbreak Bemaßung für Hinzufügen/Entfernen eines Bruchs wählen, oder [Mehrere]: Das gewählte Objekt ist weder eine Bemaßung noch eine Multi-Führungslinie. Bemaßung für Hinzufügen/Entfernen eines Bruchs wählen, oder [Mehrere]: _m Bemaßungen wählen: nil Bemaßungen wählen:
Mann müsste in der If-Abfrage, definieren, ob es eine Bemassung ist oder nicht. Das passiert sehr wahrscheinlich nicht. So wie es aussieht, wird das Commando troz eines ungültigen Objektes ausgeführt. Mit freundlichen Grüssen! Cader52 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 19. Okt. 2011 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für Cader52
Hi, mal die (while-Variante mit Prüfung, ob eine Bemaßung gewählt wurde:
Code: (defun c:DimMBreak (/ ent) (while (setq ent (entsel)) (if (wcmatch (cdr (assoc 0 (entget (car ent)))) "*DIMENSION") (command "_dimbreak" ent "_m" pause pause) ) ) )
Gruß CADchup ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 20. Okt. 2011 06:26 <-- editieren / zitieren --> Unities abgeben:
Hallo CADchup Genau das ist es! Der Befehl läuft jetzt auch weiter, so dass eine ganze Serie von Bemassungsbrüchen erstellt werden kann. Am schluss einfach mit Esc den Befehl beenden. Sehr komfortabel das Ding jetzt. Besten Dank für die Hilfe! Mit freundlichen Grüssen! Cader52 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 12. Nov. 2011 13:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich habe nochmals eine Idee! Mit dem Lisp von CADchup, können bei Bemassungen, sehr komfortabel Brüche in den Bemassungslinien erstellt werden. Wie muss ich das Lisp jetzt umschreiben, damit ich bei Bemassungen, die Brüche enthalten, diese Brüche wieder entfernen kann? Am besten wäre es, wenn nach aufruf der Funktion (z.B DelBemruch) die Aufforderung zum wählen einer Bemassung käme. Wenn ich jetzt eine Bemassung mit Brüchen anklicke, müsste Sie wieder ganz sein (ohne Brüche). So wie wenn ich im Befehlszeilendialog den Schlüssel "E" (für Entfernen) wähle und dann die Entertaste drücke. Einfach im Lispcode das "_m" in "_e" ändern, funktioniert nämlich nicht. Mit freundlichen Grüssen! Cader52 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 12. Nov. 2011 22:53 <-- editieren / zitieren --> Unities abgeben: Nur für Cader52
|
Cader52 Mitglied Konstrukteur
Beiträge: 70 Registriert: 29.09.2011 AutoCAD 2012 SP1 AutoCAD 2013 SP1 Windows XP-Pro Prozesseor AMD Athlon X2 (2 x 3.2GHz)
|
erstellt am: 13. Nov. 2011 11:23 <-- editieren / zitieren --> Unities abgeben:
Hallo CADchup Danke für den Hinweis! Da ich mich mit Lisp überhaupt nicht auskenne, bin ich da nur schwer darauf gekommen. Da ja beide Ausdrücke Optionen sind, die eigentlich gleichwertig sein müssten, sehe ich den Grund nicht ganz, warum einer mit Unterstrich sein muss und der Andere nicht . Hauptsache, es funktioniert jetzt so wie es soll. Wenn ich Programmiere, dann mit VBA. Damit habe ich schon eine Menge hinbekommen. Doch ist es damit einfach nicht möglich alles zu machen.Für gewisse Sachen, kommt man an Lisp nicht vorbei. Doch, Lisp ist nicht ganz einfach zu verstehen. Um mich damit besser auseinander zu setzen, fehlt mir auch ein bisschen die Zeit . Gibt es überhaupt irgend ein (verständliches) Tutorial, wo mann das richtig lernen kann und das sich auf die Programmierung von AutoCAD bezieht Mit freundlichen Grüssen! Cader52 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 13. Nov. 2011 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für Cader52
Moin, >> sehe ich den Grund nicht ganz, warum einer mit Unterstrich sein muss und der Andere nicht .
Dann hast Du es leider nur zufällig hinbekommen ;-) Das Verständnis, dass die englische Befehls(option) mit Unterstrich einzugeben ist und in jeder Sprachversion von AutoCAD funktioniert, ist sehr wichtig für Deine zukünftige Programmierarbeit. [rredit] das hat jetzt allerdings nicht speziell mit Lisp zu tun, das gilt in ACAD allgemein [/rredit] >> hier << ist eine kleine Linksammlung, die hilfreich sein sollte. Bei CADmaro hast Du zusätzlich auch alle Befehlsoptionen mit dabei. >> Doch, Lisp ist nicht ganz einfach zu verstehen. Um mich damit besser auseinander zu setzen, fehlt mir auch ein bisschen die Zeit . Gibt es überhaupt irgend ein (verständliches) Tutorial, wo mann das richtig lernen kann und das sich auf die Programmierung von AutoCAD bezieht Ja, da gibt es ein paar, aber Zeit wirst Du für alle brauchen Auf deutsch wäre z.B. http://www.autolisp-tutorial.mapcar.net/ ein hier im Forum häufig genanntes. (Forensuche im Lispbrett anwerfen). Das gibt es auch in Buchform (neu derzeit leider vergriffen) und als Ebook-Beigabe zum AutoCAD 2010-Buch. Viel Erfolg! ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |