Autor
|
Thema: Attribute Link, wie? (4986 mal gelesen)
|
DonYouAn Mitglied Dipl.-Ing. Feinwerk- und Mikrotechnik
Beiträge: 39 Registriert: 19.04.2005 Catia V5 1605, 1803, 1903
|
erstellt am: 17. Mrz. 2010 08:37 <-- editieren / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für DonYouAn
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
Beiträge: 39 Registriert: 19.04.2005 Catia V5 1605, 1803, 1903
|
erstellt am: 17. Mrz. 2010 14:55 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 39 Registriert: 19.04.2005 Catia V5 1605, 1803, 1903
|
erstellt am: 17. Mrz. 2010 15:01 <-- editieren / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für DonYouAn
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
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 19. Mrz. 2013 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für DonYouAn
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
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 / zitieren --> Unities abgeben: Nur für DonYouAn
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|