| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: Ersetze Kreis durch Block (5210 mal gelesen)
|
Dimitra75 Mitglied Bauzeichnerin

 Beiträge: 58 Registriert: 14.03.2005 ACAD 2014 Windows 7
|
erstellt am: 30. Okt. 2012 14:04 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, 34 PKT_BLK Austauschen von Punkten gegen Blöcke. Mit diesem Tool lassen sich Punkte gegen Blöcke tauschen. Gibt es sowas auch für Kreise? Oder setze mir in allen Kreismittelpunkte eine Punkt? Mein Problem: Ich habe eine Zeichnung mit Flächenkreise in diesem die Information undurchlässige Fläche, Flächengröße etc. drinstehen. Alles einzelne Elemente. Der Auftrageber wünscht sich aber keinen Kreis sondern ein Rechteck mit hinterlegter weißer Schraffur. Ich hoffe ihr versteht mein Anliegen. LG Dimitra
------------------ geht nicht.. gibts nicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 30. Okt. 2012 14:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
|
Dimitra75 Mitglied Bauzeichnerin

 Beiträge: 58 Registriert: 14.03.2005
|
erstellt am: 30. Okt. 2012 14:14 <-- editieren / zitieren --> Unities abgeben:         
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 30. Okt. 2012 15:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
|
Dimitra75 Mitglied Bauzeichnerin

 Beiträge: 58 Registriert: 14.03.2005
|
erstellt am: 31. Okt. 2012 08:13 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank für die schnelle Hilfe, ich bin sprachlos. Mein Chef sagt das ist mehr Wert als ein Strauß Rosen! Also dann vielen lieben Dank für die Blumen  LG Dimitra ------------------ geht nicht.. gibts nicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 31. Okt. 2012 08:47 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
|
CADxxx Mitglied Vermesser
 Beiträge: 2 Registriert: 30.09.2013
|
erstellt am: 30. Sep. 2013 20:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1500 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 01. Okt. 2013 07:57 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
Hallo CADxxx, grundsätzlich kann man alles gegen etwas anderes austauschen. Die Frage ist nur: Was soll beim Austausch in welcher Weise berücksichtigt werden ? Hier also: Welche Daten der Schraffur sollen den entsprechen den Block wie beeinflussen ? - wo liegt der Einfügepunkt ? ... Geometrisches Mittel der Schraffur ? - wie wird die Skalierung ermittelt ? ... Skalierung der Schraffur ? - Blockdrehung ? ... Schraffurwinkel ? - Gibt es Attribute ? - Farbe, Linientyp, - und vielleicht noch irgendwas Erklär mal was du genau vorhast. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADxxx Mitglied Vermesser
 Beiträge: 2 Registriert: 30.09.2013
|
erstellt am: 01. Okt. 2013 20:00 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
Hallo Andreas, die Eigenschaften der Schraffur sind nicht zu berücksichtigen. Der Einfügepunkt des Blockes ist der Mittelpunkt der Schraffur. Wenn das auch noch geht, der Block soll parallel zur nächstliegende Linie sein. Im Anhang ist ein Beispiel. Vielen Dank im Voraus! [Diese Nachricht wurde von CADxxx am 01. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
    

 Beiträge: 1998 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 02. Okt. 2013 08:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
die basis einer Schraffur kannst du so ermitteln Code: (if(and (setq ent (car (entsel "\nSchraffur wählen:"))) (setq obj (vlax-ename->vla-object ent)) (not(vlax-invoke-method obj 'GetBoundingBox 'pt1 'pt2)) ) (if(setq basept (mapcar '* '(0.5 0.5 0.5) (mapcar '+ (vlax-safearray->list pt1) (vlax-safearray->list pt2))) basept (trans basept 0 1)) (command"_insert" "BLOCKNAME" basept "1" "1" "0") ) )
Die Ausrichtung des Inserts wird aber dann schwieriger, da erst das Linienobjekt gefunden werden muss. Programmtechnisch sicher lösbar. ------------------ Gruß
CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1500 Registriert: 11.01.2006
|
erstellt am: 02. Okt. 2013 09:25 <-- editieren / zitieren --> Unities abgeben:          Nur für Dimitra75
Ja, ist lösbar. Das hat Spass gemacht. Mal was anderes. Ich hab mit neu erstellten Umgrenzungen gearbeitet, weil ich ja nicht sicher sein kann dass schon assoziative Umgrenzungen da sind. Hier das Lisp (ohne Fehlerbearbeitung, einfach dreckig runtergetippt): Code: (defun c:hatch2blk (/ BASEPT DATA ENT_DATA MEM_AUNITS OBJ PT1 PT2 W) (command "_undo" "_be") (setq mem_aunits (getvar "aunits")) (setvar "aunits" 3) (foreach ent (vl-remove-if-not '(lambda (dummy) (= (type dummy) 'ENAME)) (mapcar 'cadr (ssnamex (ssget '((0 . "HATCH"))))) );;; hier der Teil von CADWiesel (if (and (setq obj (vlax-ename->vla-object ent)) (not (vlax-invoke-method obj 'GetBoundingBox 'pt1 'pt2)) ) (if (setq basept (mapcar '* '(0.5 0.5 0.5) (mapcar '+ (vlax-safearray->list pt1) (vlax-safearray->list pt2) ) ) basept (trans basept 0 1) ) ;;; hier, vor der Blockeinfügung, die Ermittlung der nächstgelegenen Linie ;;; (naja, nicht nur Linie. Wenn wenn ein Bogensegment gefunden wird, wird das verwendet. Das hab ich jetzt nicht extra raugefiltert.) (progn (command "_-hatchedit" ent "_b" "_p" "_y") (setq ent_data (entget ent)) (setq w (cadar (vl-sort (mapcar '(lambda (obj) (list (distance basept (vlax-curve-getClosestPointTo obj basept ) ) (angle basept (vlax-curve-getClosestPointTo obj basept ) ) ) ) (mapcar '(lambda (data) (vlax-ename->vla-object (cdr (assoc -1 data))) ) (vl-remove-if '(lambda (data) (= (cdr (assoc 0 data)) "BLOCK_RECORD") ) (mapcar 'entget (mapcar 'cdr (vl-remove-if-not '(lambda (data) (= (car data) 330)) ent_data ) ) ) ) ) ) '(lambda (d1 d2) (< (car d1) (car d2))) ) ) ) ;;; und rein mit dem Block (command "_insert" "kreuz" basept "1" "1" w) ) ) ) ;;; Wenn die neu erstellten Umgrenzungen bestehen bleiben sollen, dieses mapcar auskommentieren (mapcar 'vla-delete (mapcar '(lambda (data) (vlax-ename->vla-object (cdr (assoc -1 data))) ) (vl-remove-if '(lambda (data) (= (cdr (assoc 0 data)) "BLOCK_RECORD")) (mapcar 'entget (mapcar 'cdr (vl-remove-if-not '(lambda (data) (= (car data) 330)) ent_data ) ) ) ) ) ) ;;; Schraffur löschen (entdel ent) ) (setvar "aunits" mem_aunits) (command "_undo" "_e") (princ) )
------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |