Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Attribute Link, wie?

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
Autor Thema:  Attribute Link, wie? (4986 mal gelesen)
DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 17. Mrz. 2010 08:37    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,

ich komm einfach nicht weiter mit einem kleinen Problem. Ich habe das Forum durchforstet und die Catia-Hilfe bemüht, aber es will einfach nicht so wie ich es will.

Ich möchte per CATScript einen "Attribute Link" eines Parameters auf einen Text erzeugen. Beides sowohl Parameter, als auch Text sind auf der Zeichnung schon vorhanden.

Folgendes habe ich probiert (und andere Sachen auch), komme aber nicht zum Erfolg:

Code:
Sub CATMain()

Dim drawingDocument1 As Document
Set drawingDocument1 = CATIA.ActiveDocument

Dim parameters As Parameters
Set parameters = drawingDocument1.Parameters

'parameters.Item("Designation english").Value = "Blablabla"

drawingDocument1.mein_Text.InsertVariable 0, 0, parameters.Item("Designation english")

End Sub


Wahrscheinlich ist es ganz einfach, aber ich habe einen mordsmäigen Hänger an der Stelle.

Noch was. Kann man eigentlich einen Text als Objekt ansprechen und direkt über CATScript den Inhalt des Textobjektes ändern?

Vielen Dank
DonYouAn

------------------
--

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 17. Mrz. 2010 10:18    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 DonYouAn 10 Unities + Antwort hilfreich

Hallo,

hier mal ein kleines Beispielscript. Das Script fügt einem Textfeld das sich direkt auf dem ersten Zeichnungsblatt innerhalb der MainView (Textfeldname: Text.1) befindet einen Attribute Link zum Parameter mit dem Namen Lenght.1 hinzu. Falls sich schon Text innerhalb dieses Textfeldes befindet wird dieser nicht überschrieben. Der AttributeLink Wert wird einfach dahinter angehängt.

Code:

Sub CATMain()

    Dim intDrwDocObj As DrawingDocument
    Dim intDrwParametersObj As parameters
    Dim intDrwParameter As Length
    Dim intDrwSheetsObj As DrawingSheets
    Dim intDrwSheetObj As DrawingSheet
    Dim intDrwViewsObj As DrawingViews
    Dim intDrwViewObj As DrawingView
    Dim intDrwTextsObj As DrawingTexts
    Dim intDrwTextObj As DrawingText
    Dim intStartPosLng As Long
    Dim intReplaceLenLng As Long
   
   
    Set intDrwDocObj = CATIA.ActiveDocument
    Set intDrwSheetsObj = intDrwDocObj.Sheets
    Set intDrwSheetObj = intDrwSheetsObj.Item(1)
    Set intDrwViewsObj = intDrwSheetObj.Views
    Set intDrwViewObj = intDrwViewsObj.Item(1)
    Set intDrwTextsObj = intDrwViewObj.Texts
    Set intDrwTextObj = intDrwTextsObj.GetItem("Text.1")
    If Right(intDrwTextObj.Text, 1) <> " " Then
        intDrwTextObj.Text = intDrwTextObj.Text & " "
    End If
   
   
    intStartPosLng = CLng(Len(intDrwTextObj.Text))
   
   
    Set intDrwParametersObj = intDrwDocObj.parameters
    Set intDrwParameter = intDrwParametersObj.Item("Drawing\Length.1")
    intReplaceLenLng = CLng(Len(intDrwParameter.ValueAsString))
   
    intDrwTextObj.InsertVariable intStartPosLng, intReplaceLenLng, intDrwParameter

End Sub


Zur zweiten Frage: Wie meinst du den "Inhalt des Textobjekts" ändern   Du kannst den Text (sozusagen den Value des Textobjekts) an sich definitiv ändern (ist in meinem Script auch implementiert) den Inhalt des Objekt selber kannst du aber nicht ändern.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 17. Mrz. 2010 14:55    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 Daniel,

danke, Du hast mir sehr geholfen.
Allerdings kann ich nicht auf Textobjekte im Background zugreifen. Der Background ist bei uns im Unternehmen gesperrt.

Bei der Zeile

Code:

Set intDrwTextObj = intDrwTextsObj.GetItem("SAP__DRAW-DOKNR")

meckert Catia, dass "Method GetItem failed".
SAP__DRAW-DOKNR ist auf Background View[3] definitiv vorhanden. Muss ich etwas anderst machen um auf BG-Objekte zuzugreifen oder ist dies denn überhaupt möglich?

Danke
DonYouAn

------------------
--

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

DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 17. Mrz. 2010 15:01    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 habs gefunden.

Zugriff über ...Views.Item(2). Ich hatte das schon ein paar mal probiert, hatte aber weiter vorn im Skript beim "Set" ...Views.Item(1) nicht auskommentiert.

Gruß
DonYouAn

------------------
--

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

salsataenzer
Mitglied
Maschinenbautechniker


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

Beiträge: 41
Registriert: 24.03.2011

at work:
DELL Precision T7400
Dual-Xeon X5272 2x3,4Ghz
8,00GB RAM
NVIDIA Quadro FX 4600
WIN XP-PRO 64bit SP2<P>at home:
AMD Athlon64x2 7750 2x2,7Ghz AM2+
4,0GB RAM DDR2-800 Dual Chanel
ATI ADEON HD6850 mit 1GB GDDR5 RAM
Windows7 home premium 64bit SP1

erstellt am: 19. Mrz. 2013 11:22    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 DonYouAn 10 Unities + Antwort hilfreich

Hallo,

ich bin durch Zufall auf diesen Beitrag hier gestoßen und würde gerne
wissen, wie es möglich ist, den Background zu sperren.
Das wäre auch für uns eine sehr interessante Option.

Grüße, Andreas

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 19. Mrz. 2013 11:49    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 DonYouAn 10 Unities + Antwort hilfreich

Das muss nicht mit Makroprogrammierung gemacht werden (sofern es überhaupt geht, da eine Einstellungssache in Tools-Optionen).

Du findest die Einstellung der Settings hierfür unter Tools-Optionen-Mechanische Konstruktion - Drafting, Tab ganz rechts Verwaltung, 4. Schalter von oben "Zugriff auf Blatthintergrund sperren".

Wenn das dann noch vom CATIA Admin mit Administratormodus gesperrt wird, gilts für alle im Unternehmen.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

salsataenzer
Mitglied
Maschinenbautechniker


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

Beiträge: 41
Registriert: 24.03.2011

at work:
DELL Precision T7400
Dual-Xeon X5272 2x3,4Ghz
8,00GB RAM
NVIDIA Quadro FX 4600
WIN XP-PRO 64bit SP2<P>at home:
AMD Athlon64x2 7750 2x2,7Ghz AM2+
4,0GB RAM DDR2-800 Dual Chanel
ATI ADEON HD6850 mit 1GB GDDR5 RAM
Windows7 home premium 64bit SP1

erstellt am: 19. Mrz. 2013 13: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 Nur für DonYouAn 10 Unities + Antwort hilfreich

VIELEN DANK,

ich habe es gefunden und es funzt.

Grüße, Andreas

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