Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Problem mit VBA unter Civil 3D 2011

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Problem mit VBA unter Civil 3D 2011 (1209 mal gelesen)
Soldnerkugel
Mitglied



Sehen Sie sich das Profil von Soldnerkugel an!   Senden Sie eine Private Message an Soldnerkugel  Schreiben Sie einen Gästebucheintrag für Soldnerkugel

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 23. Mrz. 2012 12:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Forumsgemeinde,

ich hab' mir mal vor einiger Zeit ein Makro geschrieben, das auch wunderbar funktionierte. Dieses ermittelt mittels "Loop/Do-Until" an welcher Stelle ein spezifischer Stil gespeichert ist.
Heute benötige ich das Makro mal wieder nach Monaten ...es läuft auch ohne Fehler durch, aber geht in keine der "Do Until/Loop"-Schleifen rein. warum nicht? weiß das jemand? hier mal der Code:

Dim tAligStyle As AeccAlignmentStyle
    Set oAlignments = oAeccDoc.AlignmentsSiteless
   
    Const AeccProgID As String = "AeccXUILand.AeccApplication.8.0"
    Dim oAcadApp As AcadApplication
    Dim oAeccDocDB As AeccDatabase
   
    Set oAcadApp = ThisDrawing.Application
    Set oAeccApp = oAcadApp.GetInterfaceObject(AeccProgID)
    Set oAeccDoc = oAeccApp.ActiveDocument
    Set oAeccDocDB = oAeccDoc.Database
   
    Dim oSite As AeccSite
    Dim oAlignmentSiteless As AeccAlignmentsSiteless
    Dim oProfileView As AeccProfileView
   
    Dim oProfiles As AeccProfiles
    Dim oProfile As AeccProfile
   
    Dim oSurf As AeccSurface
    Set oSurf = oAeccDoc.Surfaces.Item(l)
   
    Dim oProfileStyle As AeccProfileStyle
   
    Dim oProfileViewStyle As AeccProfileViewStyle

[...]

i = 0: j = 0
    ' Ermittlung der Position des LabelStyleSets innerhalb tAeccDoc
    Do Until oAeccDoc.AlignmentLabelStyleSets.Item(i).Name = "Profilschnitt"
        i = i + 1
    Loop
    'Ermittlung der Position des AlignmentStyles innerhalb tAeccDoc
    Do Until oAeccDoc.AlignmentStyles.Item(j).Name = "Standard"
        j = j + 1
    Loop
    'Style des Profilschnittes auswählen
    l = 0
    Do Until oAeccDoc.LandProfileStyles.Item(l).Name = "Profilschnitt"
        l = l + 1
    Loop
    Set oProfileStyle = oAeccDoc.LandProfileStyles.Item(l)
    'Style des höhenplanes wählen
    M = 0
    Do Until oAeccDoc.ProfileViewStyles.Item(M).Name = "Höhenplanstil1"
        M = M + 1
    Loop
    Set oProfileViewStyle = oAeccDoc.ProfileViewStyles.Item(M)
    'Ermittlung der Position des Layers
    n = 0
    Do Until ThisDrawing.Layers.Item(n).Name = "ETS_Achsen"
        n = n + 1
    Loop

die letzte Schleife "Do until thisdrawing..." funktioniert übrigens. es scheint also etwas mit den Civil-eigenen ACAD-Objekten zu tun zu haben

------------------

http://www.stupidedia.org/stupi/Rechter_Winkel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Anzeige:Infos zum Werbeplatz >>

cseTools Lizenzserver CAD APP für Allgemeine Werkzeuge

Für die cseTools bieten wir flexible Lizenzierungsoptionen an. Dauer- und Mietlizenzen sowie jeweils Einzelplatz- und Netzwerklizenzen. Wenn Sie Ihre Lizenzen im Netzwerk mit allen Benutzern teilen möchten, wird der cseTools Lizenzserver benötigt.

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9807
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 23. Mrz. 2012 15:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Soldnerkugel 10 Unities + Antwort hilfreich

Bei mir läufts prinzipiell (zumindest durchläuft das Makro auch die DO Until Anweisung).
Da ich jedoch keine Beispielzeichnung mit entspr. Stilen habe, stürzt das Makro gleich ab, da es kein Errorhandling gibt. Wenn z.b.
i höher als  oAeccDoc.AlignmentLabelStyleSets.Item(i).Name = "Profilschnitt" wird, was zwangsläufig passiert, wenn es keinen AlignmentLabelStyleSet namens "Profilschnitt" gibt.
Kurz getestet mit Civil 3D 2012 Sp1.

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz