| |  | 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 neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Anzahl Bemaßungen bestimmen --> VBA? (1085 mal gelesen)
|
Sterne Mitglied Dipl.-Ing. (BA) Maschinenbau
 
 Beiträge: 145 Registriert: 16.02.2004 Acad INV 8 Acad Mechanical 2000 Office 2000 Windows 2000 Intel Pentium 4, 2.66 GHz, 1.05 GB RAM
|
erstellt am: 16. Dez. 2004 16:27 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe zwar ein wenig Ahnung von VBA in Excel, weiß allerdings absolut nicht, wie ich jetzt mit ACAD damit umgehe. Ich möchte in einer bestehenden Zeichnung die Anzahl der Bemaßungen bestimmen und dann beispielsweise jede fünfte löschen! Ich weiß, das hört sich jetzt etwas abgedreht an, aber wenn ich diese Funktionen mal habe, dann kann ich sicherlich weiterprogrammieren... Vielen Dank schon mal für Eure Hilfe.
Gruß, Oli.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003
|
erstellt am: 17. Dez. 2004 11:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Sterne
hi, hier in der quick'n dirty variante: Sub delete5thdim() Dim objSelSet As AcadSelectionSet Dim groupcode As Variant, datacode As Variant Dim gpd(0) As Variant Dim Gpcode(0) As Integer On Error Resume Next ThisDrawing.SelectionSets.Item("selDim").Delete 'selection set löschen, 'wenn nicht existiert fehler, error resume - nicht schlau aber als bsp gehts... Set objSelSet = ThisDrawing.SelectionSets.Add("selDim") 'neuen selection set erzeugen Gpcode(0) = 0: groupcode = Gpcode gpd(0) = "dimension": datacode = gpd 'gruppen code und type für bemassung festlegen objSelSet.Select acSelectionSetAll, , , groupcode, datacode 'selection set mit gefilterten elementen füllen For i = 4 To objSelSet.Count STEP 5 'jede fünfte bemassung löschen objSelSet.Item(i).Delete Next End Sub HTH, gruss, harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sterne Mitglied Dipl.-Ing. (BA) Maschinenbau
 
 Beiträge: 145 Registriert: 16.02.2004 Acad INV 8 Acad Mechanical 2000 Office 2000 Windows 2000 Intel Pentium 4, 2.66 GHz, 1.05 GB RAM
|
erstellt am: 17. Dez. 2004 12:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo Harry, danke für die Hilfe. Das war genau das, was ich benötigt habe. Jetzt kann ich weiterprobieren. Wo genau muss ich eigentlich das Makro reinschreiben und speichern? In Excel ist es ja so, dass das Makro in der entsprechenden Datei verankert ist. Und im Acad? Ein Projekt??? Gruß, Oli. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003
|
erstellt am: 17. Dez. 2004 12:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Sterne
hi, jetzt hast du mich auf nem kalten fuss erwischt. hab noch nie mit projekten gearbeitet sondern mit Extras->Makro->VBA-Manager, Neu... erstellt eine *.dvb datei in der deine module, klassen und dialoge gespeichert sind. muss jedesmal extra geladen werden oder in den autocad start eingebaut werden. kannst auch die programme mit in die zeichnung legen aber ist halt doof zu pflegen da die meisten routinen doch eher für alle zeichnungen gedacht sind. eine makrovorlage ähnlich in excel gibt es nicht. gruss, harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sterne Mitglied Dipl.-Ing. (BA) Maschinenbau
 
 Beiträge: 145 Registriert: 16.02.2004 Acad INV 8 Acad Mechanical 2000 Office 2000 Windows 2000 Intel Pentium 4, 2.66 GHz, 1.05 GB RAM
|
erstellt am: 20. Dez. 2004 09:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo Harry, jetzt habe ich das ganze WE rumgeknobelt, wie ich eine Unterscheidung zwischen Abstandmaßen und Winkeln hinbekomme. Es müsste da ja irgendwie eine Typenunterscheidung geben. Und dann ist noch die Frage, wie ich unterscheiden kann, ob ein Maß überschrieben wurde oder ob beispielsweise eine Toleranz/Passung mit angehängt ist?! Gruß, Oli. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 20. Dez. 2004 11:50 <-- editieren / zitieren --> Unities abgeben:          Nur für Sterne
Hi Oli, nimm mal ne neue/leere Zeichnung, zeichne Dir zwei Linien, bemaß' nen Winkel und ne Länge. Dann einfach zB:
Code:
sub x() dim o as object set o=thisdrawing.modelspace debug.print "irgendwas" end sub
Setz dir auf debug.print nen Haltepunkt, F5 und dann einfach mal nen Blick ins Lokalfenster riskieren ... ;-) Was Du suchst findest Du in den [4] Items unter o, also: IAcadDimRotated / IAcadDimAngular sowie TextOverride für evtl. Überschreibungen. Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |