| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Schraffur anonymer Gruppe zuordnen ohne Gruppennamen zu kennen (1079 mal gelesen)
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 24. Mai. 2017 16:49 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich versuche eine Schraffur gleich nach der Erstellung automatisch einer bestehenden anonymen Gruppe( die zugleich auch die Umgenzung der Schraffur ist) zuzuordnen ohne dabei die Schraffur nochmal auszuwählen bzw. ohne den Gruppennamen zu kennen. Mein Ablauf funktioniert in der Befehlszeile einigermaßen gut aber nicht im Lisp: Ablauf in der Befehlszeile: Eine bestehende Gruppe (anonyme Gruppe) mit einer geschlossenen Kontur (Rechteck) fülle ich mit einer Schraffur. Anschließend rufe ich das Lisp "Test" auf. Dabei muß ich die Schraffur nochmal anwählen und es markiert mir die objekte der Umgrenzung (Diese Objekte gehören schon der Gruppe an). Bei markierter Umgrenzung gebe ich den Befehl _groupedit in die Befehlszeile ein. Dabei kennnt autocad bereits die Gruppe und ich brauche den Gruppennamen nicht zu nennen. Ich gebe noch "h" für hinzufügen ein und dann "L" für letztes Element. Dann noch zwei mal bestätigen und schon ist die Schraffur bei der Gruppe die sie umschließt angehängt. Ich schaffe es einfach nicht die Befehlsfolgen so zu schreiben, dass nach dem erstellen des Schraffurobjektes sofort auch der Umgrenzung angehörenden Gruppe angehängt wird. Hat jemand eine Idee? Kann mir da jemand helfen? Martin Hab dieses Lisp von hier: http://www.cadtutor.net/forum/showthread.php?97720-Autoselect-nearest-closed-polyline-that-surrounds-text-entity/page3 (defun C:test ( / SS i Hs Bs nSS mm as) (defun HatchBoundaryList (enm) ; Roy (cdr (vl-remove nil (mapcar '(lambda (sub) (if (= 330 (car sub)) (cdr sub))) (entget enm) ) ) ) ) (cond ( (and (princ "\nSelect Hatches: ") (setq SS (ssget "_:L-I" '((0 . "HATCH"))))) (repeat (setq i (sslength SS)) (setq Hs (cons (ssname SS (setq i (1- i))) Hs)) ) (and (setq Bs (apply 'append (mapcar 'HatchBoundaryList Hs))) (setq nSS (ssadd)) (setq mm(progn (mapcar '(lambda (x) (ssadd x nSS)) (eval (cadr (assoc (progn (initget "Hatches Boundaries") (cond ((getkword "\nGrip [Hatches/Boundaries] <Boundaries>: ")) ("Boundaries")) ) '(("Hatches" Hs) ("Boundaries" Bs)) ) ) ) ) (sssetfirst nil nSS) )); progn ); and ); SS ); cond (princ) ); defun
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 29. Mai. 2017 07:35 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
Servus, man kann mit Hatchedit die Begrenzungsobjekte auswählen. (command "_-hatchedit" "_l" "_y" "_groupedit" "_a" "_l" "") ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 29. Mai. 2017 07:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, danke für deine Hilfe! Dies funktioniert aber nur 1x. Wenn man das zweite mal schraffiert und die gleiche Gruppe als Umgrenzung dient dann wird sie nicht mehr erkannt und es wird der Gruppenname angefordert. Bei deiner Lösung muß die Gruppe direkt vor dem Schraffieren erstellt worden sein. Dies ist bei mir leider nicht der Fall. Die Gruppe wurde schon früher erstellt. Sobald der Gruppenname abgefragt wird hält das Makro an. Den Gruppennamen weis ich leider nicht! Lg. Martin [Diese Nachricht wurde von MARTINLE am 29. Mai. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 29. Mai. 2017 09:03 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
Der Gruppenname wird nicht erkannt wenn die Gruppe aus mehrerem Objekten bestehen, warum auch immer. Die Frage ist was hast du damit vor? Eventuell ist ein anderes Objekt (Layer Block) besser geeignet die Objekte zu organisieren. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Werkstudent S-Line Series Engineering m/w/d | Sie möchten Großes bewegen? Dann sind Sie bei uns genau richtig. Mit über 65 Jahren Know-how ist HAWE Hydraulik ein führender Hersteller von technologisch sowie qualitativ hochwertigen Hydraulikkomponenten und -systemen. Engagement, Kompetenz und Leidenschaft verbinden alle 2.500 Mitarbeitenden, die rund um den Globus ihren Beitrag zum Unternehmenserfolg leisten. Werden Sie ein Teil des Teams und gestalten Sie die Zukunft von HAWE Hydraulik aktiv mit.... | Anzeige ansehen | Projektmanagement |
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 29. Mai. 2017 09:18 <-- editieren / zitieren --> Unities abgeben:
|