| |
 | 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: allen Blocken in einer Zeichnung Linieweight zuweisen (1071 mal gelesen)
|
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 13:52 <-- editieren / zitieren --> Unities abgeben:         
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 15. Mrz. 2007 13:55 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 13:59 <-- editieren / zitieren --> Unities abgeben:         
Mein Problem ist das meine Progammierkenntnisse noch nicht so gut sind in VBA und das Problem habe das ich nicht weis wie ich eine schleife programmieren soll. In Lisp währe es ja kein Problem aber in VBA. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 15. Mrz. 2007 14:07 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 15. Mrz. 2007 14:08 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 15. Mrz. 2007 14:10 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 14:12 <-- editieren / zitieren --> Unities abgeben:         
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 15. Mrz. 2007 14:15 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
Dann brauchst du doch nur mit der AutoCAD Schnellauswahl alle Blöcke selektieren und im Eigenschaftsfenster ändern. Wenn in einer Blockdefinition die Linienstärke fix angegeben wurde musst du sie auch in der Definition ändern. Dann ändern sich logischerweise auch die Abbilder (Einfügungen) Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 14:18 <-- editieren / zitieren --> Unities abgeben:         
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 15. Mrz. 2007 14:24 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
Wie machst du es denn mit dem Batchbetrieb ? Im Sucher gibt es da eine Menge: -Zeichnung öffnen -Selectionset anlegen -Selectionset füllen mit SelectAll und Filter für Blöcke -Alle Elemente im Selectionset durchlaufen und Linienstärke ändern -Speichern Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 14:26 <-- editieren / zitieren --> Unities abgeben:         
Ich habe es jetzt so geschrieben aber funktioiert nicht. Dim sset As AcadSelectionSet Dim FilterType(0) As Integer Dim FilterData(0) As Variant Dim Object As AcadObject Set sset = ThisDrawing.SelectionSets.Add("SS2") 'Auswahlsatz erstellen FilterType(0) = 0 FilterData(0) = "INSERT" 'Filter setzen ungleich sset.Select acSelectionSetAll, , , FilterType, FilterData 'Alle Elemente laut Filter in Auswahlsatz
For Each Object In sset 'Für jedes Element im Auswahlsatz Object.Lineweight = acLnWtByBlock Next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 15. Mrz. 2007 14:32 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
Und was funktioniert nicht ? Abgesehen davon, wo liegt der Sinn darin die Linienstärke auf byBlock zu setzen. Das wäre bei Erzeugen der Blockelemente sinnvoll aber doch nicht bei den Einfügungen. Oder sollen die keine Linienstärke haben ? Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 15. Mrz. 2007 14:37 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 15. Mrz. 2007 14:38 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
Der Sinn des ganzen ist mir auch nicht ganz klar. Funktionieren sollte es auf jeden Fall. Allerdings solltest bei den Selectionsets immer prüfen, ob es den schon in der Zeichnung gibt, das du sonst ne Fehlermeldung bekommst. Schreib doch was nicht funktioniert, oder was für eine Fehlermeldung du bekommst. Gruß, Carsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 14:38 <-- editieren / zitieren --> Unities abgeben:         
Die Problemstellung schaut so aus das ich sehr viele Zeichnungen von den verschiedensten Lieferanten bekomme und die schauen total verscheiden aus und die sollen aber mit nur einer CTB aus gedruckt werden. Und jetzt schreibe ich ein Programm mit dem man allen Objekten eine Linieweight eigenschaft zuweist. Das Programm liest einen Text File ein, wo die Linieweight den Faben zugeordnet ist und die kann ich mir dann an die Lieferanten anpassen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 15. Mrz. 2007 14:40 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
erstellt am: 15. Mrz. 2007 14:48 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
Hi, Bei der Aufgabenstellung musst du aber auch alle Elemente in den Blöcken durchlaufen, damit diese geändert werden und nicht nur der Blockreferenz einen geänderten Wert geben. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dj_assp Mitglied Tech. Angestellter

 Beiträge: 50 Registriert: 02.10.2006 Autocad VBA
|
erstellt am: 15. Mrz. 2007 14:58 <-- editieren / zitieren --> Unities abgeben:         
Ich bin gerade darauf gekommen das meine SChleife funktioniert, habe jetzt nur noch eine Frage wie kann ich den Auswahl satz wieder löschen. Sonst läuft das Prgramm schon einwandfrei aber nur beim ersten durchlauf. beim zweiten habe ich das Problem das ich eine Fehlermeldung bekomme wo es heist das der Auswahlsatz schon besteht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 15. Mrz. 2007 15:22 <-- editieren / zitieren --> Unities abgeben:          Nur für dj_assp
|