| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Summe Plannummern des Plansatzes (1074 mal gelesen)
|
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 16. Aug. 2006 12:49 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 16. Aug. 2006 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für Eryk
Code:
' Written by Lee Ambrosius ' Date: 3/24/04' Program is provided AS-IS with no expressed written warranty ' This example demonstrates a couple of the new SheetSet API and some of its ' many properties and methods Option Explicit Dim sheetSetMgr As IAcSmSheetSetMgr Dim sheetdb As IAcSmDatabase '' Lets count up Sheets and iterate through all open SheetSets Public Sub SetSheetCount() Dim sheetCount As Integer Dim iterDb As IAcSmEnumDatabase Dim ItemDb As IAcSmPersist Set sheetSetMgr = New AcSmSheetSetMgr Set iterDb = sheetSetMgr.GetDatabaseEnumerator Set ItemDb = iterDb.Next Do While Not ItemDb Is Nothing Set sheetdb = ItemDb '' Lock Database LockDatabase On Error Resume Next Dim sheet As IAcSmSheet Dim iter As IAcSmEnumPersist Dim Item As IAcSmPersist Set iter = sheetdb.GetEnumerator Set Item = iter.Next Do While Not Item Is Nothing Set sheet = Item If Item.GetTypeName = "AcSmSheet" Then sheetCount = sheetCount + 1 End If Set Item = iter.Next Loop '' Apply the Sheet Count as a custom property Dim cBag As IAcSmCustomPropertyBag Dim cBagVal As New AcSmCustomPropertyValue Set cBag = sheetdb.GetSheetSet().GetCustomPropertyBag cBagVal.InitNew cBag cBagVal.SetFlags CUSTOM_SHEETSET_PROP cBagVal.SetValue CStr(sheetCount) cBag.SetProperty "Total Sheets", cBagVal Set cBagVal = Nothing '' Unlock the database UnlockDatabase '' Clear and check for next SheetSet that is open sheetCount = 0 Set ItemDb = iterDb.Next Loop End Sub '' Used to Lock the database back up (SheetSet) Private Sub LockDatabase() On Error Resume Next Dim lockStatus As AcSmLockStatus Let lockStatus = sheetdb.GetLockStatus If lockStatus = AcSmLockStatus_UnLocked Then sheetdb.LockDb sheetdb End If End Sub '' Used to Unlock the database back up (SheetSet) Private Sub UnlockDatabase() On Error Resume Next Dim lockStatus As AcSmLockStatus If lockStatus = AcSmLockStatus_Locked_Local Or AcSmLockStatus_Locked_Remote Then sheetdb.UnlockDb sheetdb End If End Sub
------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 16. Aug. 2006 13:04 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 16. Aug. 2006 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für Eryk
Es wird über ein M-Text bzw. Attribut sichtbar gemacht. Es ist dann eine benutzerdefinierte Eigenschaft des Plansatzes. ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 16. Aug. 2006 13:15 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 16. Aug. 2006 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für Eryk
Benutzerdef. Plansatzeigenschaften haben NIX mit Lisp und Variablen gemeinsam. ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 16. Aug. 2006 13:25 <-- editieren / zitieren --> Unities abgeben:
Verzeih meine Unkenntnis, aber jetzt bin ich überfordert. Was mache ich jetzt mit dem Code, der gepostet worden ist, und wofür brauche ich die "FIELDEVAL" Wie kreige ich es hin, das es auch funktiniert, denn bei mir sehe ich nur folgendes "#####" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 16. Aug. 2006 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für Eryk
1. Hast du einen Plansatz, und sogar eine Datei (Plan) aktiv geöffnet ? 2. Hast du Schreibrechte auf diesen Plansatz ? 3. Hast du diesen VBA-Code in die VBA-IDE [ALT+F11] eingegeben (Copy&Paste) 3. Hast du dieses 'Makro' ausgeführt ? 4. Hast du F1 gedrückt und geschaut was FIELDEVAL bedeutet Variablentyp: Ganzzahl Gespeichert in: Zeichnung Ausgangswert: 31 Steuert, wie Felder aktualisiert werden. Der Wert wird als Bitcode gespeichert, der aus der Summe der folgenden Werte besteht:
0 Nicht aktualisiert 1 Aktualisiert beim Öffnen 2 Aktualisiert beim Speichern 4 Aktualisiert beim Plotten 8 Aktualisiert bei Verwendung von ETRANSMIT 16 Aktualisiert beim Regenerieren 5. Hast du nun in deinem Plansatz diese Eigenschaft mit der Anzahl der Pläne ? ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 16. Aug. 2006 13:43 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 16. Aug. 2006 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für Eryk
Zitat:
zu 4. Fehler beim kompilieren ! Dim sheetSetMgr As IAcSmSheetSetMgr
Bitte sag mal ganz genau wo diese Meldung, nach welchen Arbeitsschritten, bei dir vorkommt. ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 16. Aug. 2006 16:24 <-- editieren / zitieren --> Unities abgeben:
Zunächst muss ich erstmal sagen dass ich ACAD Map 2006 nutze. (habe dass auch schon in den voreinstellungen korrigiert, wird aber nicht übernommen, warum auch immer) 1. Wie beschrieben habe ich den VBA - Editor geöffnet und paste© den Code eingefügt. 2. Markro ausgeführt 3. Fehlermeldung erscheint: Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert. Mit Verweis auf die Zeile Option Explicit Dim sheetSetMgr As IAcSmSheetSetMgr Dim sheetdb As IAcSmDatabase das ist alles
[Diese Nachricht wurde von Eryk am 16. Aug. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 16. Aug. 2006 16:58 <-- editieren / zitieren --> Unities abgeben: Nur für Eryk
Hallo Eryk, In der VBA-Ide unter Extras/Verweise den Haken beim Eintrag "AcSmComponents16 1.0 Type Library" setzen (Bei 2006, Bei 2007 ist es die "AcSmComponents17 1.0 Type Library"). Dann funktioniert es. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003
|
erstellt am: 17. Aug. 2006 09:53 <-- editieren / zitieren --> Unities abgeben:
|
Eryk Mitglied Bautechniker
Beiträge: 42 Registriert: 16.05.2003 Infrastructure Design Suite 2018, akt. SP, D-A-CH, etc. Win7 Pro, 64 Bit Intel Core i7-4930K 64GB RAM NVIDIA Quadro K4200
|
erstellt am: 23. Aug. 2006 14:40 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Proxy: 1. Hast du einen Plansatz, und sogar eine Datei (Plan) aktiv geöffnet ? 2. Hast du Schreibrechte auf diesen Plansatz ? 3. Hast du diesen VBA-Code in die VBA-IDE [ALT+F11] eingegeben (Copy&Paste) 3. Hast du dieses 'Makro' ausgeführt ? 4. Hast du F1 gedrückt und geschaut was FIELDEVAL bedeutet[i] Variablentyp: Ganzzahl Gespeichert in: Zeichnung Ausgangswert: 31 Steuert, wie Felder aktualisiert werden. Der Wert wird als Bitcode gespeichert, der aus der Summe der folgenden Werte besteht: 0 Nicht aktualisiert 1 Aktualisiert beim Öffnen 2 Aktualisiert beim Speichern 4 Aktualisiert beim Plotten 8 Aktualisiert bei Verwendung von ETRANSMIT 16 Aktualisiert beim Regenerieren 5. Hast du nun in deinem Plansatz diese Eigenschaft mit der Anzahl der Pläne ? [/i]
Hierzu ein Tip: Beim Drucken die Variable "FIELDEVAL" auf 2 stellen (hab ich mal so gemacht)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |