| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: markierte Objekte: Eigenschaften übernehmen? (1608 mal gelesen)
|
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 04. Dez. 2002 19:00 <-- editieren / zitieren --> Unities abgeben:
Moin Acadler, habe da noch mal so eine Frage. Also ich arbeite sehr oft damit, dass ich lediglich die Farbe oder den Linientyp eines Layers ändere, weil tausende von Layern meines Erachtens nur verwirrend sind. Mir reichen die ca. 40-60 Layer vollauf. Durch markieren des Objektes nimmt er ja den aktuellen Layer an; leider aber nicht die Farbe und den Linientyp. Habe schon alles durchgeforstet, finde aber nichts. Es wäre also toll, wenn ich das Objekt markiere, dass sämliche Eigenschaften übernommen werden; evtuell auch noch Stiftstärken. Kann man so etwas erfinden? Das wäre richtig toll. Gruß ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Cuder Mitglied Selbständig
Beiträge: 692 Registriert: 10.07.2002 AutoCAD 2002/2004/2005 unter Windows 2000 Professional SP3 PIV 3.4GHz 1024MB NVIDIA GeForce FX Go5700
|
erstellt am: 05. Dez. 2002 07:39 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Hallo Astrid, dieser VBA Code erledigt das: Option Explicit Public Sub AllFromLayer() Dim selset As AcadSelectionSet Dim varobject As AcadEntity On Error Resume Next Set selset = ThisDrawing.SelectionSets("AllFromLayer") selset.Clear selset.Delete On Error GoTo 0 Set selset = ThisDrawing.SelectionSets.Add("AllFromLayer") selset.SelectOnScreen For Each varobject In selset varobject.Color = acByLayer varobject.Linetype = "ByLayer" varobject.Lineweight = acLnWtByLayer varobject.PlotStyleName = "ByLayer" Next selset.Clear selset.Delete End Sub
------------------ Bernd Cuder Cad&Co makes CAD easy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Dez. 2002 08:03 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Würde mir das jemand mal kurz erklären ? -ich verstehe nicht so 100%ig was da der Wunsch ist..Danke schonmal ! (PM reicht ) [Warum habe ich dann eigentlich gepostet ? ------------------ Gruß Sebastian , Ffm [Diese Nachricht wurde von cadffm am 05. Dezember 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Cuder Mitglied Selbständig
Beiträge: 692 Registriert: 10.07.2002 AutoCAD 2002/2004/2005 unter Windows 2000 Professional SP3 PIV 3.4GHz 1024MB NVIDIA GeForce FX Go5700
|
erstellt am: 05. Dez. 2002 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
wkopp@ccc.gr Mitglied senior electrical designer
Beiträge: 432 Registriert: 02.04.2002
|
erstellt am: 05. Dez. 2002 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Guten Morgen, es ist noch frueh und vielleicht hab ich die etwas verwirrende Frage total falsch verstanden, aber "matchprop" macht doch genau das was Du moechtest: uebernehmen der Eigenschaften wie Farbe, Layer, Linienstaerke, Linientyp usw. Klaert mich auf wenn ich auf dem Holzweg bin ------------------ Gruss aus dem sonnigen Athen Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Dez. 2002 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
unter matchprop gibt es Optionen/Einstellungen bei denen man wählen kann was er über nehmen soll- die Eigenschaften eines markierten Objektes zeigt sich im WK_Eigenschaften, Layer,Linientyp und alles andere...wobei die Farbe etc natürlich auch die Eigenschaft "vonlayer" habenkann - in dem Fall sieht man die eigentliche Farbe dann also nicht.. @Assi Was genau (habe es halt nicht verstanden) möchtest du denn haben/machen ? @Cuder wofür ist der Code genau ? @Wolfgang ...ist das nicht total bescheiden wenn man ständig die Vorwahl mit angeben muß beim telefonieren, selbst bei Ortsgesprächen ? und dann auch noch mit´ner 2 beginnnen, ziemlich verwirrend ------------------ Gruß Sebastian , Ffm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Cuder Mitglied Selbständig
Beiträge: 692 Registriert: 10.07.2002 AutoCAD 2002/2004/2005 unter Windows 2000 Professional SP3 PIV 3.4GHz 1024MB NVIDIA GeForce FX Go5700
|
erstellt am: 05. Dez. 2002 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Mein Code fragt nach Elementen und setzt deren Eigenschaften alle auf VonLayer, aber ich glaube Assi möchte alles auf Aktuell, da nützt ja matchprop nichts. Aber ich warte mal bis Sie sich meldet bevor ich den Code umschreibe ------------------ Bernd Cuder Cad&Co makes CAD easy [Diese Nachricht wurde von Bernd Cuder am 05. Dezember 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Dez. 2002 09:57 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
also ich kann auch nur warten bis sie sich meldet- sehr merkwürdig...die 3 Klicks im WK_Eigenschaften nach dem markieren der Objekte können doch ebenfalls nicht gemeint sein. Hallo, Assi ?
------------------ Gruß Sebastian , Ffm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 05. Dez. 2002 19:21 <-- editieren / zitieren --> Unities abgeben:
Hai, komme erst jetzt dazu. Wie gesagt habe im Büro keinen Internetanschluß; und zuhause kein Autocad. Ist immer etwas mühsam. Was ich wollte, ist ein Objekt markieren und KlicK alle Eigenschaften übernehmen; ohne den Umweg über matchprob. Wenn alles vonlayer kommt kann Autovad das ja, aber wenn die Farbe usw. nicht vonlayer ist, geht das nicht; oder ich habe es nicht gefunden. Tschau Astrid ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Cuder Mitglied Selbständig
Beiträge: 692 Registriert: 10.07.2002 AutoCAD 2002/2004/2005 unter Windows 2000 Professional SP3 PIV 3.4GHz 1024MB NVIDIA GeForce FX Go5700
|
erstellt am: 06. Dez. 2002 07:45 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Also so ganz klar ist es noch immer nicht, woher sollen die Eigenschaften kommen? Von einem Objekt, dann MATCHPROP Von AutoCAD dann: Option Explicit Public Sub AllFromAcad() Dim selset As AcadSelectionSet Dim varobject As AcadEntity Dim strLayer As String Dim intColor As Integer Dim strLinetype As String Dim dblLtScale As Double Dim strStyleName As String Dim strLineweight As String On Error Resume Next Set selset = ThisDrawing.SelectionSets("AllFromAcad") selset.Clear selset.Delete On Error GoTo 0 'Abfrage der Objekte Set selset = ThisDrawing.SelectionSets.Add("AllFromAcad") selset.SelectOnScreen 'Auslesen der aktuellen AutoCAD Einstellungen strLayer = ThisDrawing.GetVariable("CLAYER") If ThisDrawing.GetVariable("CECOLOR") = "BYLAYER" Then intColor = 256 ElseIf ThisDrawing.GetVariable("CECOLOR") = "BYBLOCK" Then intColor = 0 Else intColor = ThisDrawing.GetVariable("CECOLOR") End If strLinetype = ThisDrawing.GetVariable("CELTYPE") dblLtScale = ThisDrawing.GetVariable("CELTSCALE") strLineweight = ThisDrawing.GetVariable("CELWEIGHT") 'Zuweisen der AutoCAD Einstellungen For Each varobject In selset varobject.Layer = strLayer 'Layer varobject.Color = intColor 'Farbe varobject.Linetype = strLinetype 'Linientyp varobject.LinetypeScale = dblLtScale 'Linientypfaktor varobject.Lineweight = strLineweight 'Strichstärke Next selset.Clear selset.Delete End Sub
------------------ Bernd Cuder Cad&Co makes CAD easy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 06. Dez. 2002 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
kannst du für mich und Bernd evtl. NOCHeinen Versuch starten das Ziel deutlich zu machen... Evtl an anhand der Beschreibung eines kompletten Ablaufes wie gewünscht ? Das mit dem "vonlayer" geht es ja aber bei direkt zugewiesener Farbe nicht - hat mich nur noch mehr verwirrt...klingt immernoch nach matchprop. und du kannst gleich dabeischreiben wievile Klicks du für eine funktionierendes "vonlayer-Objekt" benötigst und wieviele Klicks du für die matchprop Sache brauchst. Fragen fragen- sooft kann man doch garnicht aneinander vorbeireden ------------------ Gruß Sebastian , Ffm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 06. Dez. 2002 17:45 <-- editieren / zitieren --> Unities abgeben:
Nabend, rechte Maustaste, Objekt markieren. Die Eigenschaften werden dann ja angezeigt in den Fensterchen für Layersteuerund Farbe usw. (nicht im _properties) sondern oben.Ich möchte jetzt einen Knopf drücken können, oder ectl. rechte Maustaste und sämtliche Eigenschaftenh des Objektes werden übernommen. Mit, ich glaube _aimolc, kann man den Layer ja aktuell schalten, aber eben nicht die Farbe und Linientyp. Ich hoffe dass es jetzzt etwas verständlicher ist. Gruß ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 06. Dez. 2002 19:00 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
benwisch Mitglied Bautechniker, CAD-Konstrukteur
Beiträge: 375 Registriert: 01.02.2001
|
erstellt am: 06. Dez. 2002 19:49 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
ich glaube jetzt habe ich es verstanden.... nimm diesen code, speichere ihn unter bw_set_act.lsp in einem suchpfad von autocad ab. aufruf mit : bw_set_act ! ********************************** ;;; ----------------------------------------------------------------------------- ;;; === <BW_SET_ACT> --->Die Eigenschaften eines Objektes werden aktuell gesetzt === ;;; ----------------------------------------------------------------------------- ;;; Mit picken eines Objektes werden die Eigenschaften von "LAYER", ;;; "FARBE", "LINIENTYP", "STEUERUNG DER LINIENSTÄRKE" sowie ;;; "LINIENTYPFAKTOR" als aktuell für neu zu erstellende Objekte gesetzt !!
(defun c:bw_set_act (/ sa_var1 sa_var2 ltfaktor color ltype weight ) (command "_.select" "_r" "_all" "") (if (not (setq sa_var1 (entsel "\nObjekt wählen, dessen Eigenschaften als aktuell gesetzt werden:"))) (progn (alert "NIX SELEKTIERT !") (c:bw_set_act) ) ) (setq sa_var2 (entget (car sa_var1))) (setq layer (cdr (assoc 8 sa_var2))) (if (cdr (assoc 48 sa_var2)) (setq ltfaktor (cdr (assoc 48 sa_var2))) (setq ltfaktor 1.00) ) (if (= ltfaktor 0.0) ; Achtung ! Falls irrtümlich in den Eigenschaften der Linientypfaktor=0 gesetzt (was die Systemvariable nicht akzeptiert) (setq ltfaktor 1.00) ; dann wird hier der ltfaktor auf 1 gesetzt. Programm meldet sonst einen Fehler !! ) (if (cdr (assoc 62 sa_var2)) (setq color (itoa (cdr (assoc 62 sa_var2)))) (setq color "byLayer") ) (if (cdr (assoc 6 sa_var2)) (setq ltype (cdr (assoc 6 sa_var2))) (setq ltype "byLayer") ) ; analog wie oben + Prüfung !! (if (cdr (assoc 370 sa_var2)) (setq weight (cdr (assoc 370 sa_var2))) (setq weight -1) ) ; analog wie oben, jedoch darf der wert NICHT in einem String gesetzt werden !!! ;; Und jetzt werden die Systemvariablen gesetzt !! (setvar "clayer" layer) (setvar "cecolor" color) (setvar "celtype" ltype) (setvar "celweight" weight) (setvar "celtscale" ltfaktor) (princ) ); defun Ende !! ***********************************************************************
mal vorsichtig frage... meinst du das ???? ------------------ Grüße aus dem Rheingau. Rolf aka Benwisch
[Diese Nachricht wurde von benwisch am 11. Dezember 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Cuder Mitglied Selbständig
Beiträge: 692 Registriert: 10.07.2002 AutoCAD 2002/2004/2005 unter Windows 2000 Professional SP3 PIV 3.4GHz 1024MB NVIDIA GeForce FX Go5700
|
erstellt am: 06. Dez. 2002 23:06 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 07. Dez. 2002 09:07 <-- editieren / zitieren --> Unities abgeben:
Hai und moin, ja Benwisch genau das meinte ich Daaaaaaaaaaaaaaaaaaaaanke!!!!! Gruß und schönes Wochenende Astrid Hab da noch nen schöneren Smilie gefunden ------------------ [Diese Nachricht wurde von Assi am 07. Dezember 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
benwisch Mitglied Bautechniker, CAD-Konstrukteur
Beiträge: 375 Registriert: 01.02.2001 Autocad 2005-2010 Microstation V8 Photoshop CS4 + Camera Raw Nikon Capture NX2 Nikon D90
|
erstellt am: 07. Dez. 2002 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
moin moin .... da hat's bei mir klick gemacht... Zitat: Mit, ich glaube _aimolc, kann man den Layer ja aktuell schalten, aber eben nicht die Farbe und Linientyp.
nur diese felder könnten gemeint sein... tja assi....dasselbe gewerbe... und jetzt ne gute tasse kaffee ------------------ Grüße aus dem Rheingau. Rolf aka Benwisch [Diese Nachricht wurde von benwisch am 07. Dezember 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |