Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Einstellungen von Drawing View programmatisch ändern

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

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
Dassault PLM Integrationen mit der 3DViewStation, eine Pressemitteilung
Autor Thema:  Einstellungen von Drawing View programmatisch ändern (87 / mal gelesen)
user7
Mitglied



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

Beiträge: 40
Registriert: 26.08.2022

erstellt am: 26. Aug. 2025 08:11    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


SettingsIs.png

 
Hallo zusammen,

ich habe verschiedene Views in 3D (FTA - TPSViews), die ich gerne automatisch auf ein 2D Drawing zeichnen würde.

Dazu habe ich folgende Funktion in CAA:

Code:

HRESULT __stdcall CustomPart::InsertTPSViewInCurrentDrawingSheet(CATIABase* iDrawingSheet, CATIABase* iTPSView, const CATSafeArrayVariant& iOrigin, CATIABase*& oReturnValue) {

  HRESULT hr = CATReturnSuccess;


  CATITPSView_var sp_tpsView = iTPSView;
  CATIDftSheet* p_drawingSheet = NULL;
  if (SUCCEEDED(iDrawingSheet->QueryInterface(IID_CATIDftSheet, (void**)&p_drawingSheet))) {
    CATIDftView* piDftViewFrom3D = NULL;

    // View anchor point definition
    const double* orig_arr = EDIConvertCATSafeArrayVariantToDoubleArray(iOrigin);
    double x_orig = orig_arr[0];
    double y_orig = orig_arr[1];
    double ptOrigin[2] = { x_orig, y_orig };

    IUnknown* pTPSViewUk = NULL;
    if (SUCCEEDED(sp_tpsView->QueryInterface(IID_IUnknown, (void**)&pTPSViewUk)))
    {
        CATIDftGenViewFactory* piDftGenViewFact = NULL;
        if (SUCCEEDED(p_drawingSheet->QueryInterface(IID_CATIDftGenViewFactory, (void**)&piDftGenViewFact)))
        {
            hr = piDftGenViewFact->CreateViewFrom3D(ptOrigin, pTPSViewUk, &piDftViewFrom3D);
            if (SUCCEEDED(hr) && piDftViewFrom3D) {
                hr = S_OK;
                piDftViewFrom3D->QueryInterface(IID_CATIABase, (void**)&oReturnValue);
            }
            else {
                hr = E_FAIL;
            }
            p_drawingSheet->Release(); p_drawingSheet = NULL;
            piDftViewFrom3D->Release(); piDftViewFrom3D = NULL;
            piDftGenViewFact->Release(); piDftGenViewFact = NULL;
        }
        pTPSViewUk->Release();
        pTPSViewUk = NULL;
    }
  }

  hr = CATReturnSuccess;

  return hr;
}



Und dann in C#

Code:

DrawingView newView = (DrawingView)myCustomPart.InsertTPSViewInCurrentDrawingSheet(sheet, view, origin.Cast<object>().ToArray());

Im DrawingSheet funktioniert das manuell über Insert>Views>Projections>View From 3D.


Das Ergebnis schaut zunächst identisch aus. Nur, dass bei der programmatischen Variante die ViewSettings unterschiedlich sind.

Settings von manuell eingefügter View:


Settings von programmatisch eingefügter View:


Allgemeine Settings von Catia:


Hat jemand eine Idee wie man an die Settings einer DrawingView in C# oder CAA drankommen könnte? Also wie ich va den Flag "Generation Mode of Annotation - Generate Red Cross on Annotation" deaktivieren kann? Oder wie ich global über irgendwelche Settings bügeln kann, sodass immer bei ViewsFrom3D die Einstellung wie gewünscht vorgenommen wird?
Hab mich schon ewig erfolglos durch die Eigenschaften von den Objekten im CAA und der DrawingView gewühlt und nichts dazu gefunden -.-

Vielen Dank im Voraus & Beste Grüße
Matt

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