Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Löschen von Schriftkopf / Rahmen

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
Autor Thema:  Löschen von Schriftkopf / Rahmen (4128 mal gelesen)
CW77
Mitglied
Dipl. Ing.

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

Beiträge: 8
Registriert: 15.08.2008

AutoCAD Mechanical 2009, Inventor 2009, Vault 2009

erstellt am: 14. Jul. 2009 11:17    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 Forengemeinde,

ich habe folgendes Problem.

Mittels VBA füge ich in eine Zeichnung Schriftkopf und Rahmen ein. Das sieht so aus:

Code:
Public Sub Schriftkopf()


    Dim symbb As McadSymbolBBMgr
    Set symbb = ThisDrawing.Application.GetInterfaceObject("SymBBAuto.McadSymbolBBMgr")
   
    Dim tiBrdMgr As McadTitleBorderMgr
    Set tiBrdMgr = symbb.TitleBorderMgr

    Dim tiBrdDesc As McadTitleBorderDescriptor
    Set tiBrdDesc = tiBrdMgr.NewDescriptor
   
    Dim tiBrdContext As McadTitleBorderContext
    Set tiBrdContext = tiBrdMgr.NewContext

    Dim brd As McadBorder
    Set brd = tiBrdDesc.Border
    brd.name = "akk_a3"

    Dim titl As McadTitle
    Set titl = tiBrdDesc.Title
    titl.name = "akk_zeko"

    tiBrdDesc.TitleBorderScale = Massstab1

    Dim pos(0 To 2) As Double
    pos(0) = 0
    pos(1) = 0
    pos(2) = 0
    tiBrdDesc.Position = pos

    Dim tiBrd As McadTitleBorder
    Set tiBrd = tiBrdMgr.CreateTitleBorder(tiBrdDesc, tiBrdContext)
   
End Sub


An anderer Stelle möchte ich den vorhandenen Schriftkopf / Rahmen aus der aktiven Zeichnung löschen.
Dazu ist grundsätzlich der Befehl:

Code:
tiBrdMgr.DeleteTitleBorder()

gedacht.
Nur weiß ich leider nicht, was ich in die Klammer schreiben soll. Die Hilfe sagt da auch nicht besonders viel außer:

Description
Removes the specified title/border from the drawing.

Syntax
Public Function DeleteTitleBorder( _
  ByVal titleBorder As McadTitleBorder _
) As Boolean

Parameters
titleBorder
Input title/border to be deleted
See Also
McadTitleBorderMgr Object


Bin für jede Hilfe dankbar...

Gruß,

Carsten

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 16. Jul. 2009 09:21    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 CW77 10 Unities + Antwort hilfreich

Hallo Carsten,

ohne mal zu wissen mit welchen Programm (Systeminfo ausfüllen!) zu arbeitest handelt es sich ja mindestens um eine Zusatzapplikation.

Ohne die zu kennen müsste die Syntax nach den Objektbezeichnungen so sein.

Code:
tiBrdMgr.DeleteTitleBorder(tiBrd)

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

CW77
Mitglied
Dipl. Ing.

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

Beiträge: 8
Registriert: 15.08.2008

AutoCAD Mechanical 2009, Inventor 2009, Vault 2009

erstellt am: 16. Jul. 2009 09:35    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 Stelli1,

Ich arbeite mit AutoCAD Mechanical 2009.

Was du vorschlägst macht Sinn. Das habe ich auch schon probiert. Die Systemantwort darauf ist allerdings diese:

Run-time error '438'
Object doesn´t support this Property or method

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

Stechi
Mitglied
Informatiker


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

Beiträge: 75
Registriert: 17.01.2008

erstellt am: 28. Jul. 2009 08:28    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 CW77 10 Unities + Antwort hilfreich

Hallo Stelli1,

ich bin auch von dem oben geschilderten Problem betroffen. Hast Du eine Erklärung für den o.g. Runtime Error?

Gruß

Markus

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

insidERR
Mitglied
2/3D Konstruktion, VBA/.net/Android Programmierung, EDV


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

Beiträge: 128
Registriert: 27.08.2007

Win10 x64 Pro, ACAD Mech.2022, AI 2022 Sim., AV WG 2022, VBA/.NET, Android Studio, Arduino

erstellt am: 24. Aug. 2009 12:31    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 CW77 10 Unities + Antwort hilfreich

Zeichnungsrahmen und Schriftkopf sind doch Blöcke die definierte Namen haben.
Kannst du nicht gezielt nach den Blöcken suchen und sie löschen?

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


Ex-Mitglied

erstellt am: 24. Aug. 2009 12:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

@insidERR: 

Zitat:
Zeichnungsrahmen und Schriftkopf sind doch Blöcke
Ich nehme an, dass es rund um dieses Problem relativ 'leise' in diesem Thread ist, da das verwendete Objektmodell von CW77 eben Mechanical-eigene Objekte sind (siehe die Deklarationen, die allesamt nicht AutoCAD-Basisojekte sind).

Wenn Du Mechanical hast, kannst Du doch seinen Code mal ausprobieren, gibt's bei Dir den gleichen Fehler?

Wenn es denn doch AutoCAD-Blöcke sind, dann sollte man acht geben, ob durch löschen einer solchen Blockreferenz nicht die interne Struktur von Mechanical 'angegriffen wird'.

- alfred -

------------------
www.hollaus.at

CW77
Mitglied
Dipl. Ing.

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

Beiträge: 8
Registriert: 15.08.2008

AutoCAD Mechanical 2009, Inventor 2009, Vault 2009

erstellt am: 24. Aug. 2009 13:02    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 zusammen,

das Problem hat sich mittlerweile erledigt.
Der Fehler war, dass ich versucht habe, den Schriftkopf und den Rahmen zu löschen, den ich gerade eingefügt hatte (mit demselben Modul). Das geht nicht. Macht man für das Löschen ein separates Modul, lassen sich die Objekte auch löschen.

Vielen Dank für eure Mühe.

Carsten Wirtz

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

bassenc
Mitglied
Student


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

Beiträge: 26
Registriert: 02.06.2004

WinXP32Prof
ACADMech2007
ACADMechMech2009 SP3
SolidEdge 20

erstellt am: 28. Jul. 2010 13:44    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 CW77 10 Unities + Antwort hilfreich

Hallo, ich versuchs einfach mal hier da ich in ähnlichem Kontext Probleme mit dem Erstellen von Zeichnungen.

Der Code ist nahezu identisch mit dem hier von CW77 gepostet, also wie folgt:

Code:

Dim ADoc As Autodesk.AutoCAD.Interop.AcadDocument
ADoc = ACadApp.Documents.Add(IO.Path.GetFileName(theDWG_Data.AcadDrawingTemplate))
SymBBMgr = ADoc.Application.GetInterfaceObject("SymBBAuto.McadSymbolBBMgr")

Dim BdMgr As SymBBAuto.McadTitleBorderMgr
BdMgr = SymBBMgr.TitleBorderMgr
Dim TBDesc As SymBBAuto.McadTitleBorderDescriptor
TBDesc = BdMgr.NewDescriptor
Dim BdContext As SymBBAuto.McadTitleBorderContext
BdContext = BdMgr.NewContext
               
Dim Border As SymBBAuto.McadBorder
Border = TBDesc.Border
Border.Name = "din_a4" 'theDWG_Data.GenFormatBorderName & ".dwg"

Dim Title As SymBBAuto.McadTitle
Title = TBDesc.Title
Title.Name = "Gentitle" 'theDWG_Data.GenSchriftFeldName & ".dwg"

TBDesc.TitleBorderScale = theDWG_Data.GenScaleDbl

Dim pos(0 To 2) As Double
pos(0) = 0
pos(1) = 0
pos(2) = 0
TBDesc.Position = pos

Dim TitleBrd As SymBBAuto.McadTitleBorder
TitleBrd = BdMgr.CreateTitleBorder(TBDesc, BdContext)
'BdMgr.CreateTitleBorder(TBDesc, BdContext)


ich bekomme aber bei

Code:
TitleBrd = BdMgr.CreateTitleBorder(TBDesc, BdContext)

also beim erstellen des Rahmens etc.
eine Exception:

Zitat:
Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben.

Code ist in vb.net, unter Mechanical 2007 hat alles wunderbar funktioniert. Wiess villeicht jemand Rat?

Vielen Dank im Voraus.

bassenc

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)2023 CAD.de | Impressum | Datenschutz