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
  
KISTERS 3DViewStation: Multitalent für Branchen und Nischenmärkte, eine Pressemitteilung
Autor Thema:  Einstellungen von Drawing View programmatisch ändern (243 / 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: 42
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

MarcL68
Mitglied
Group Leader Mechanical Design


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

Beiträge: 30
Registriert: 21.08.2013

Windows 10 Entreprise
Version 10.0.17763
HP ZBook 17G2 i7-4610M; 3.0GHz;(RAM)16,00 Go
NVIDIA Quadro 3000M
CATIA V5R2012 SP3 - V5R2018

erstellt am: 10. Sep. 2025 08:09    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 user7 10 Unities + Antwort hilfreich

Hallo,

über C# oder CAA habe ich keine Ahnung aber mit VBA geht es so (falls es helfen kann )

Code:
Sub CATMain()

Dim settingControllers1 As SettingControllers
Set settingControllers1 = CATIA.SettingControllers

Dim settingRepository1 As SettingRepository
Set settingRepository1 = settingControllers1.Item("DraftingOptions")

settingRepository1.PutAttr ("DrwGenerateRedCross"), True

End Sub


------------------
Gruss
Marc

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

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: 42
Registriert: 26.08.2022

erstellt am: 10. Sep. 2025 10:09    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 Marc,

wenn ich das richtig verstehe, dann setzt das die globalen Settings (DrwGenerateRedCross -> False; weil ich will ja keine roten Kreuze haben)
Die Settings sind bei mir allerdings auch schon richtig eingestellt. Es geht um neu eingefügte Views - wenn automatisch eingefügt, haben die ein anderes Setting als manuell eingefügte Views (manuelle Views übernehmen wie es scheint die globalen Settings; programmatisch eingefügte machen ihr eigenes Ding..).

Du hast nicht zufällig auch einen Weg gefunden um in den Settings / Properties einer Drawing View rumzuschustern?! (: meinetwegen auch gerne in VBA^^

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

MarcL68
Mitglied
Group Leader Mechanical Design


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

Beiträge: 30
Registriert: 21.08.2013

Windows 10 Entreprise
Version 10.0.17763
HP ZBook 17G2 i7-4610M; 3.0GHz;(RAM)16,00 Go
NVIDIA Quadro 3000M
CATIA V5R2012 SP3 - V5R2018

erstellt am: 10. Sep. 2025 15: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 user7 10 Unities + Antwort hilfreich

Hallo,

Man kommt an diese Properties durch das "DrawingViewGenerativeBehavior" Objekt. Aber Laut die "CAA V5 Visual Basic Help" ist die Eigenschaft "red Cross" nicht erreichbar!

Code beispiel um "hidden lines " zu aktivieren:

Code:
Sub CATMain()

Dim drawingDocument1 As DrawingDocument
Set drawingDocument1 = CATIA.ActiveDocument

Dim drawingSheets1 As DrawingSheets
Set drawingSheets1 = drawingDocument1.Sheets

Dim drawingSheet1 As DrawingSheet
Set drawingSheet1 = drawingSheets1.Item("Calque.1")

Dim drawingViews1 As DrawingViews
Set drawingViews1 = drawingSheet1.Views

Dim drawingView1 As DrawingView
Set drawingView1 = drawingViews1.Item("Vue de face")

Dim drawingViewGenerativeBehavior1 As DrawingViewGenerativeBehavior
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior

drawingViewGenerativeBehavior1.HiddenLineMode = catHlrModeOn

Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior

drawingViewGenerativeBehavior1.ForceUpdate

End Sub


------------------
Gruss
Marc

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

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: 42
Registriert: 26.08.2022

erstellt am: 11. Sep. 2025 09:04    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

Hi Marc,
das hatte ich auch schon gesehen... an einen Teil der Eigenschaften kommt man ran; an andere - wie z.B. die RedCross Geschichte - nicht..
Ich werd allerdings auch aus den CAA docs nicht schlau.. auch hier (also mit der CAA Keule) scheint es nicht wirklich Eigenschaften / Funktionen zu geben, die das steuern können.

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

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