Eksport makr widoku rysunku dxf

Witam

Szukałem na różnych forach (francuskim i angielskim), ale nie mogę znaleźć odpowiedzi.

Korzystamy z eksportu DXF dla dostawcy, który zajmuje się wyłącznie cięciem laserowym, ale chcemy dodać "grawerunek" z numerem planu. Aby to zrobić, nasz dostawca wymaga, aby tekst, który ma być wygrawerowany, znajdował się w dxf pod warstwą "T" (ponieważ jego maszyna jest automatyczna).
W tej chwili stosowana metoda jest następująca:

  1. Tworzenie widoku rysunku w żądanej orientacji
  2. Zmień nazwę piły na "DXF"
  3. Dodano notatkę związaną z właściwością niestandardową "Nr planu".
  4. Wybór widoku to opcja "zapisz widoki jako" na samym dole FeatureManager
  5. Z opcją projekcji niestandardowej korzystamy z pliku projekcji, który pozwala nam zapisać linie modelu w warstwie "0", a nuty w warstwie "T"

Na razie działa naprawdę dobrze.
Poza tym chciałbym to zautomatyzować za pomocą makra.
Wiedząc, że mamy już makro do zapisania rysunku w formacie PDF + DWG, a modelu w formacie STEP (poprzez dodanie wskazówek w nazwie pliku).
Celem byłoby posiadanie makra dla dxf i zintegrowanie go z naszym istniejącym makrem, mówiąc "jeśli istnieje widok "DXF", zapisujemy go w formacie DXF za pomocą opcji projekcji itp.

Czy wydaje Ci się to wykonalne? Problem polega na tym, że nie mogę znaleźć żadnego śladu makra do nagrywania VUE w formacie DXF.

Witam
Proponuję skopiować widok do nowego arkusza tymczasowego (z pustym płaskim tłem nie pojawi się w dxf)

Witam;
Pozostałe widoki można ukryć, zapisać w formacie DXF, a następnie pokazać je ponownie, na przykład:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Diagnostics;
//using System.Windows.Forms;

using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;


namespace Macro1
{
    public partial class SolidWorksMacro
    {
        public void Main()
        {
            ModelDoc2 swDoc = ((ModelDoc2)(swApp.ActiveDoc));
            ModelDocExtension swDocExt = swDoc.Extension;
            DrawingDoc swDrawing = (DrawingDoc)swDoc;
            View swView = (View)swDrawing.GetFirstView();
            swView = (View)swView.GetNextView();
            bool boolstatus;
            int errors = 0;
            int warnings = 0;
            List<string> nomDesVuesAMontrer = new List<string>();


            //cacher les vues non désirées
            while (swView != null)
            {
                if (swView.Name != "DXF")
                {
                    if(swView.GetVisible() == true)
                    {
                        swView.SetVisible(false, false);
                        nomDesVuesAMontrer.Add(swView.Name);
                    }
                    
                }
                swView = (View)swView.GetNextView();
            }

            //enregistrer en DXF
            AdvancedSaveAsOptions options_save = (AdvancedSaveAsOptions)swDocExt.GetAdvancedSaveAsOptions(0);
            boolstatus = swDocExt.SaveAs3(@"C:\Users\enregistrement_DXF.dxf", 0, 0, null, options_save, ref errors, ref warnings);

            //montrer les vues comme avant
            foreach (string nom in nomDesVuesAMontrer)
            {
                swDrawing.ActivateView(nom);
                swView = (View)swDrawing.ActiveDrawingView;
                swView.SetVisible(true, false);                
            }
            return;
        }
        public SldWorks swApp;

    }
}

Witam
Poniżej znajduje się uzupełnienie mojej propozycji

Sub export_view()
    Dim st As Boolean
    st = swmodel.Extension.SelectByID2("DXF", "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)
    If st Then
        swmodel.EditCopy
        swdraw.NewSheet4 "tmp", 0, 13, 1, 1, False, "", 0, 0, "", 0, 0, 0, 0, 0, 0
        swmodel.Paste
        'save as dxf
        'delete temp_sheet
    Else
    End If
End Sub

<< Chciałbym zwrócić uwagę, że tabele wierceń połączone z widokiem są również kopiowane, aby można było nimi zarządzać zgodnie z potrzebami >>