Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Layout Position verschieben

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:  Layout Position verschieben (2578 mal gelesen)
veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 07. Feb. 2012 16:19    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!
Ist es möglich die Position eines Layouts per Code zu ändern?
Ich habe nur das Property Tabindex gefunden, ändern des Wertes bewirkt aber in der Zeichnung leider nichts.

Gibts da sonst noch etwas anderes?
Ich will quasi den automatischen Weg den ich über Drag und Drop eines Layouts auch erreichen kann.

mfg

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

CADmium
Ehrenmitglied V.I.P. h.c.
Maschinenbaukonstrukteur



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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2004DX Mechanical PP

erstellt am: 07. Feb. 2012 17:08    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 veydan 10 Unities + Antwort hilfreich

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 06:48    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

Ah tut mir leid, ich meinte das Property TabOrder.
Bei mir zeigt es jedenfalls keine Wirkung...
Hintergrund: Ich lösche gewisse Layouts aus einer Zeichnung.
Lösche ich auch das Layout mit index 1, und mache ein Commit, hat die Zeichnung dann Fehler beim öffnen und muss recovered werden.
Dann erhält sie ein Leeres Layout an der Stelle 1.
Mache ich allerdings kein Commit, sind andere Layouts weg die ich lösche, Layout 1 bleibt aber in der Zeichnung.
Somit dachte ich mir ich verschiebe einfach ein anderes an Stelle 1 und das Problem sollte gelöst sein.
Das Property wird zwar gesetzt, ändern tut es aber nichts.

mfg

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 08. Feb. 2012 09:06    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 veydan 10 Unities + Antwort hilfreich

Hallo veydan,

nur mal so eine Idee: Ein Layout ist doch auch nur ein BlockTablerecord. Wenn du in den darin enthaltenen Elementen einfach die OwnerId eines anderen Layots einträgst .. sollten die doch auf einem anderen Layout angezeigt werden. Dann noch die Layoutnamen tauschen und fertig ist's.

Gib mal eine Info, ob du diesen Weg gegangen bist und wenn ja, mit welchem Ergebnis.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

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

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 09:24    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,
das ist im Prinzip keine schlechte Idee, nur habe ich das Gefühl für mein Ursprüngliches vorhaben artet das etwas aus. Ich probiers mal.

Zum Problem:
Grundsätzlich will ich aus einer Zeichnung mit X Layouts jedes einzelne mit dem Modellbereich in eine eigene Zeichnung exportieren.

Ich weiß nicht ob es da eine bessere Lösung gibt, aber jetzt mache ich in einer Schleife nach Anzahl der Layouts ein Database.Wblock, das war bis jetzt der einzige Weg wo ich eine "Kopie" der Datenbank erhielt ohne eine Referenz auf die Ursprüngliche.
Das zurückgegebene Database Objekt durchlaufe ich und lösche alle Layouts bis ich eines finde das noch nicht exportiert wurde, dass behalte ich und den Modellbereich.
Speichern der Datenbank mit Saveas und fertig.

Der erste Weg war, die aktuelle Datenbank zu manipulieren und vor dem tr.Commit die Datenbank zu speichern (SaveAs)
ist die Transaction aber noch aktiv geht das nicht, bestätige ich sie, sind die Layouts gelöscht und ich kann den Vorgang nicht für die restlichen Layouts wiederholen.
Erzeuge ich vorher ein Objekt Database TmpDatabase = ActiveDocument.Database und modifiziere die TmpDatabase, sind die Änderungen auch in der Originalen vorhanden...

darum der Schritt mit dem Wblock, der mir aber auch schon nicht wirklich gefällt...

mfg

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 08. Feb. 2012 09:32    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 veydan 10 Unities + Antwort hilfreich

... andere Idee:

Du machst eine neue Zeichnung auf, und kopierts dir aus der Zeichnung (aus der du bei deinem Lösungsansatz gerade die WBlöcke machst) den Modellbereich und das (gewünschte) Layout rein und speicherst diese Zeichung dann ab. Das ganze natürlich in einer Schleife.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

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

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 09: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

hatte ich auch schon probiert, da kam ich aber nicht ans Ziel, genügt es da wenn ich den Modell BlocktableRecord und den Layout Blocktablerecord mit wblockCloneObjects kopiere oder brauche ich die Objekte in den Layouts auch in der IdCollection für das WBlockCloneObjects?

mfg

[Diese Nachricht wurde von veydan am 08. Feb. 2012 editiert.]

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 08. Feb. 2012 09:40    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 veydan 10 Unities + Antwort hilfreich

... hast du es denn mal mit den Objekten probiert?
Ja, du brauchst die Objekte beim Modellbereich auf jeden Fall, beim Layout ... keine Ahnung. Beim Layout würde ich aber auch die Objekte nehmen, und diese auf das vorhandenen Layout1 kopieren und dann das Layout 1 umbenennen.

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

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

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 10:15    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

ja die Funktion läuft durch, aber ich kann die Zeichnungen dann nicht öffnen, bekomme den Fehler:
INTERNAL ERROR: !dbAnnoScaleCompositionReactori.cpp@1409: eInvalidIndex

acDwg ist die aktive Zeichnung und Templatedrawing eine .dwt Datei

Code:

Code:

        public void ExportLayouts(Document acDwg, string TemplateDrawing)
        {
            DocumentLock acDocLock = null;
            int i = 0;
            Database acDB = null;
            Transaction acTrans = null;
            BlockTable acBT = null;
            BlockTableRecord acBTR = null;
            SymbolTableEnumerator acBTRE = null;
            Layout acLayout = null;
            string sLayoutToExport = "";
            List<String> liExportedLayouts = new List<string>();
            FileInfo fiDrawing = new FileInfo(acDwg.Name);
            ObjectIdCollection acModelSpaceObjectIds = new ObjectIdCollection();
            Boolean bLayoutFound = false;
            try
            {
                acDB = HostApplicationServices.WorkingDatabase;
                acTrans = acDB.TransactionManager.StartTransaction();

                using (acTrans)
                {
                    acBT = (BlockTable)(acTrans.GetObject(acDB.BlockTableId,OpenMode.ForRead));
                    acBTRE = acBT.GetEnumerator();

                    while (acBTRE.MoveNext())
                    {
                        if (acBTRE.Current.IsErased == false)
                        {
                            acBTR = (BlockTableRecord)(acBTRE.Current.GetObject(OpenMode.ForRead));
                            if (acBTR.IsLayout)
                            {
                                acLayout = (Layout)(acBTR.LayoutId.GetObject(OpenMode.ForRead));
                                if (acLayout.ModelType == true)
                                {
                                    acModelSpaceObjectIds.Add(acLayout.BlockTableRecordId);
                                    foreach (ObjectId acObjId in acBTR)
                                    {
                                        acModelSpaceObjectIds.Add(acObjId);
                                    }
                                }
                                else
                                {
                                    i += 1;
                                }
                            }
                        }
                    }   
                }
                ObjectIdCollection acLayoutBlockIdsToCopy = new ObjectIdCollection();
                for (int j = 1; j <= i; j++)
                {
                    foreach (ObjectId acObjId in acModelSpaceObjectIds)
                    {
                        acLayoutBlockIdsToCopy.Add(acObjId);
                    }

                    Database acTmpDatabase = null;
                    Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.Add(TemplateDrawing);
                    acTmpDatabase = acDoc.Database;

                    acDocLock = acDoc.LockDocument();
                    acTrans = acDB.TransactionManager.StartTransaction();

                    using (acTrans)
                    {
                        acBT = (BlockTable)(acTrans.GetObject(acDB.BlockTableId, OpenMode.ForRead));
                        acBTRE = acBT.GetEnumerator();

                        while (acBTRE.MoveNext())
                        {
                            if (acBTRE.Current.IsErased == false)
                            {
                                acBTR = (BlockTableRecord)(acTrans.GetObject(acBTRE.Current, OpenMode.ForRead));
                                if (acBTR.IsLayout)
                                {
                                    acLayout = (Layout)(acTrans.GetObject(acBTR.LayoutId, OpenMode.ForRead));
                                    if (acLayout.ModelType == false)
                                    {
                                        if (liExportedLayouts.Contains(acLayout.LayoutName) == false)
                                        {
                                            bLayoutFound = true;
                                            sLayoutToExport = acLayout.LayoutName;
                                            liExportedLayouts.Add(sLayoutToExport);
                                            acLayoutBlockIdsToCopy.Add(acLayout.BlockTableRecordId);
                                            foreach (ObjectId acObjId in acBTR)
                                            {
                                                acLayoutBlockIdsToCopy.Add(acObjId);
                                            }
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (bLayoutFound)
                    {
                        IdMapping acIdMap = new IdMapping();
                        acDB.WblockCloneObjects(acLayoutBlockIdsToCopy, acTmpDatabase.BlockTableId, acIdMap, DuplicateRecordCloning.Replace, false);
                        acDocLock.Dispose();
                        acDocLock = null;

                        if (sLayoutToExport != "")
                        {
                            if (File.Exists(fiDrawing.Directory.FullName + "\\" + sLayoutToExport + fiDrawing.Extension) == false)
                                acTmpDatabase.SaveAs(fiDrawing.Directory.FullName + "\\" + sLayoutToExport + fiDrawing.Extension, DwgVersion.AC1024);
                            else
                                acTmpDatabase.SaveAs(fiDrawing.Directory.FullName + "\\" + sLayoutToExport + sTimeStamp + fiDrawing.Extension, DwgVersion.AC1024);
                        }
                        else
                        {
                            acTmpDatabase.SaveAs(fiDrawing.Directory.FullName + "\\" + Path.GetFileNameWithoutExtension(fiDrawing.FullName) + fiDrawing.Extension, DwgVersion.AC1024);
                        }
                    }
                    acDoc.CloseAndDiscard();
                }         
            }
            catch (Exception ex)
            {}
            finally
            {
                if (acDocLock != null)
                {
                    acDocLock.Dispose();
                }
            }
        }


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

CADmium
Ehrenmitglied V.I.P. h.c.
Maschinenbaukonstrukteur



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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2004DX Mechanical PP

erstellt am: 08. Feb. 2012 10: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 veydan 10 Unities + Antwort hilfreich


Layoutorder.zip

 
ist zwar intern Lisp, aber pack die zip mal aus und zieh dir die vlx per Drag and Drop aus dem Explorer in die aktuelle Zeichnung und rufe das Programm mit  LAYOUTORDER in der Befehlszeile auf.

Wenn es das tut, was du willst ..... da wird im Grunde immer nur  die Property TABORDER gesetzt

------------------
      - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

[Diese Nachricht wurde von CADmium am 08. Feb. 2012 editiert.]

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

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 10: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

Rein vom Logischen tut es das was ich will, nur wie sieht das im Detail aus wenn man das Ganze in .Net macht.
Wenn ich in C# aus einer Zeichnung alle Layouts lösche bis auf den Modellbereich und ein Layout das nicht an Position Taborder 1 ist, gibt es Probleme beim nächsten Öffnen.
Wenn ich das Property TabOrder auf 1 setze bei dem Layout das nicht gelöscht wird, erziele ich keine Besserung.

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

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 10:59    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

Um dem Ganzen gründlich auf die Spur zu gehen hier die andere Variante mit dem Wblock und ändern der TabOrder
Seht euch den Unterschied an wenn man tr.Commit() auskommentiert und drinnen lässt... habe es in der Funktion beschrieben was passiert.
Ich habe das mit einer ganz neuen Zeichnung getestet und mit vorhandenen.

// Kommentiert man die Zeile aus, bleibt immer das erste Layout in der Zeichnung + dem Layout was eigentlich exportiert werden soll.
// ist die Zeile aktiv, habe ich immer 28 Fehler in der neuen Zeichnung und zusätzlich ein leeres "neues" Layout1...


public void ExportLayoutsToNewFile3(Document acDwg)
        {
            DocumentLock acDocLock = null;
            int i = 0;
            Database acDB = null;
            Transaction acTrans = null;
            BlockTable acBT = null;
            BlockTableRecord acBTR = null;
            SymbolTableEnumerator acBTRE = null;
            Layout acLayout = null;
            Layout acLayoutToExport = null;
            List<String> liExportedLayouts = new List<string>();
            FileInfo fiDrawing = new FileInfo(acDwg.Name);
            try
            {
                acDocLock = acDwg.LockDocument();
                acDB = HostApplicationServices.WorkingDatabase;

                acBT = (BlockTable)(acDB.BlockTableId.GetObject(OpenMode.ForRead));
                acBTRE = acBT.GetEnumerator();

                while (acBTRE.MoveNext())
                {
                    if (acBTRE.Current.IsErased == false)
                    {
                        acBTR = (BlockTableRecord)(acBTRE.Current.GetObject(OpenMode.ForRead));
                        if (acBTR.IsLayout)
                        {
                            acLayout = (Layout)(acBTR.LayoutId.GetObject(OpenMode.ForRead));
                            if (acLayout.ModelType == false)
                            {
                                i += 1;
                            }
                        }
                    }
                }
                LayoutManager.Current.CurrentLayout = "Model";
                for (int j = 1; j <= i; j++)
                {
                    Database acTmpDatabase = new Database(false, true);
                    acLayoutToExport = null;

                    acTmpDatabase = acDB.Wblock();
                    acTrans = acTmpDatabase.TransactionManager.StartTransaction();

                    using (acTrans)
                    {
                        acBT = (BlockTable)(acTrans.GetObject(acTmpDatabase.BlockTableId, OpenMode.ForRead));
                        acBTRE = acBT.GetEnumerator();

                        while (acBTRE.MoveNext())
                        {
                            if (acBTRE.Current.IsErased == false)
                            {
                                acBTR = (BlockTableRecord)(acTrans.GetObject(acBTRE.Current, OpenMode.ForRead));
                                if (acBTR.IsLayout)
                                {
                                    acLayout = (Layout)(acTrans.GetObject(acBTR.LayoutId, OpenMode.ForWrite));
                                    if (acLayout.ModelType == false)
                                    {
                                        if (acLayoutToExport == null)
                                        {
                                            if (liExportedLayouts.Contains(acLayout.LayoutName) == false)
                                            {
                                                acLayout.TabOrder = 1;
                                                acLayoutToExport = acLayout;
                                                liExportedLayouts.Add(acLayout.LayoutName);
                                                acLayout.DowngradeOpen();
                                                continue;
                                            }
                                            else
                                            {
                                                acLayout.Erase();
                                            }
                                        }
                                        else
                                        {
                                            acLayout.Erase();
                                        }
                                    }
                                }
                            }
                        }
                        acTrans.Commit(); //Kommentiert man diese Zeile aus, bleibt immer das erste Layout in der Zeichnung + dem Layout was eigentlich exportiert werden soll.
// ist die Zeile aktiv, habe ich immer 28 Fehler in der neuen Zeichnung und zusätzlich ein leeres "neues" Layout1...                 
                    }
                    acTmpDatabase.CloseInput(true);
 
                    if (acLayoutToExport != null)
                    {
                        if (File.Exists(fiDrawing.Directory.FullName + "\\" + acLayoutToExport.LayoutName + fiDrawing.Extension) == false)
                            acTmpDatabase.SaveAs(fiDrawing.Directory.FullName + "\\" + acLayoutToExport.LayoutName + fiDrawing.Extension, DwgVersion.AC1024);
                        else
                            acTmpDatabase.SaveAs(fiDrawing.Directory.FullName + "\\" + acLayoutToExport.LayoutName + sTimeStamp + fiDrawing.Extension, DwgVersion.AC1024);
                    }
                    else
                    {
                        acTmpDatabase.SaveAs(fiDrawing.Directory.FullName + "\\" + Path.GetFileNameWithoutExtension(fiDrawing.FullName) + fiDrawing.Extension, DwgVersion.AC1024);
                    }
                    acTmpDatabase.CloseInput(true);
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                if (acDocLock != null)
                {
                    acDocLock.Dispose();
                }
            }
        }   

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

CADmium
Ehrenmitglied V.I.P. h.c.
Maschinenbaukonstrukteur



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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2004DX Mechanical PP

erstellt am: 08. Feb. 2012 11:16    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 veydan 10 Unities + Antwort hilfreich

du kannst nicht alle Layouts löschen .... Modelbereich und ein Layout(Paperspace) sind für eine Zeichnung erforderlich

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

veydan
Mitglied



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

Beiträge: 252
Registriert: 29.05.2008

AutoCAD/Mechanical 2009, Inventor 2009

erstellt am: 08. Feb. 2012 11:57    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

ich lösche auch nicht alle...Modellbereich und ein Layoutbereich bleiben auch übrig, aber die Zeichnung ist dann Fehlerhaft, oder beinhaltet ein Layout das nicht da sein soll.
probiert die Funktion aus mit Tr.Commit() und ohne, dann werdet ihr sehen was ich meine.

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

Plotter
Mitglied



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

Beiträge: 267
Registriert: 11.02.2004

erstellt am: 20. Mrz. 2012 14: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 veydan 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADmium:
ist zwar intern Lisp, aber pack die zip mal aus und zieh dir die vlx per Drag and Drop aus dem Explorer in die aktuelle Zeichnung und rufe das Programm mit  LAYOUTORDER in der Befehlszeile auf.

Wenn es das tut, was du willst ..... da wird im Grunde immer nur  die Property TABORDER gesetzt


Habe gerade dies "geile" Programm gefunden!

Wir haben ein Projekt bekommen, beim dem viele Layouts hin und her geschoben werden müssen. Dauert sonst ewig, weil die Dateien so groß sind.

Nun die Frage, ob man da noch die Moglichkeit einbauen könnte (vielleicht mit Rechtsklick?) die Layouts in dem Menü auch noch umzubenennen!?

Würde uns ne Menge Tipp- und Klickarbeit ersparen :-)

------------------
- Plotter -
------------------

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

CADmium
Ehrenmitglied V.I.P. h.c.
Maschinenbaukonstrukteur



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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2004DX Mechanical PP

erstellt am: 20. Mrz. 2012 14:33    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 veydan 10 Unities + Antwort hilfreich

MAchbar ist vieles .. aber in Dialogsteuerung ect ist Lisp doch etwas aufwendig.. das jetzt irgendwie umzufummeln, dazu fehlt mir im Rahmen der Foren hilfe die Zeit.Sorry.

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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