Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter sperren (Schloss)

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:  Parameter sperren (Schloss) (7563 mal gelesen)
Math.random
Mitglied
Ing

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

Beiträge: 8
Registriert: 23.02.2010

erstellt am: 15. Mrz. 2010 07:30    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

Einen schönen Montag-Morgen an alle!

Ich scheitere bisher daran, Parameter per Makro zu sperren (Lock), d.h. mit Schloss zu versehen.

Natürlich habe ich im Forum nach einer Lösung gesucht. An zwei Stellen bin ich auf erfolgversprechende Antworten gestoßen:
Hier und hier.
Beide Antworten schlagen den Zugriff auf die Parameter-Eigenschaft Constant vor. Leider funktioniert das bei mir nicht.
Und da es in den Antworten keine Syntax-Beispiele gibt, habe ich den Verdacht, das Sperren von Parametern ist per Makro nicht möglich.
Wer kann mir hier Gewissheit geben oder mich vom Gegenteil überzeugen?
Untenstehend mein Test-Script (*.catvbs). Danke für Eure Antworten!

Code:
Sub CATMain()

'~~~~~Neuen Parameter erzeugen
Set Neuer_Param = CATIA.ActiveDocument.Part.Parameters.CreateInteger("Glueckszahl", 313)

'~~~~~Objekt mit untergeordneten Parametern erzeugen
Set GeoSet = CATIA.ActiveDocument.Part.HybridBodies.Add()
Set Pkt1 = CATIA.ActiveDocument.Part.HybridShapeFactory.AddNewPointCoord(0, 0, 0)
GeoSet.AppendHybridShape Pkt1

CATIA.ActiveDocument.Part.Update

'~~~~~Tests: Parameter sperren
Pkt1.X.Comment  = "!!!"    'Sowas geht
Pkt1.X.Constant = True     'Aber das nicht!
Constant Neuer_Param, True 'Sowas geht auch nicht!

End Sub


[Diese Nachricht wurde von Math.random am 15. Mrz. 2010 editiert.]

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: 15. Mrz. 2010 08:48    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 Math.random 10 Unities + Antwort hilfreich

Hallo  ,

so wie du es versuchst ist es nicht möglich. Das Problem ist IMHO ein Bug im CAA. Es gibt eine Methode "isConst" die laut CAA Hilfe auch auf ein "KnowledgeObject" angewendet werden kann. Sie funktioniert auch auf Relations, Rules, Laws... ABER nicht auf Parameter?. Diese stehen aber IMHO auch im Namespace "KnowledgeObject" von dem her sage ich es ist ein Bug 

Die "Constant" Methode gibt es IMHO gar nicht. Dir bleibt aber noch ein Workaround...Du kannst den Parameter über einen StartCommand Befehl "Locken" und "Entlocken". Siehe hier mal das Beispielscript:

Code:

Sub CATMain()

    Dim intDocObj As PartDocument
    Dim inPartObj As Part
    Dim inParasObj As Parameters
    Dim intParaToLockObj As RealParam
    Dim intSelObj As Selection
   
    Set intDocObj = CATIA.ActiveDocument
    Set intSelObj = intDocObj.Selection
    intSelObj.Clear
    Set inPartObj = intDocObj.Part
    Set inParaObj = inPartObj.Parameters
    Set intParaToLockObj = inParaObj.Item("Part1\Real.1")
   
'    intSelObj.Add intParaToLockObj
   
   
    '***Parameter "locken"
    On Error Resume Next
        intSelObj.Copy
    If Err.Number <> 0 Then
        MsgBox Err.Description
        Exit Sub
    End If
   
    CATIA.StartCommand ("Lock")
   
    MsgBox "Der Parameter " & intParaToLockObj.Name & " wurde erfolgreich gesperrt"
   
    '***Parameter "unlocken"
    On Error Resume Next
        intSelObj.Copy
    If Err.Number <> 0 Then
        MsgBox Err.Description
        Exit Sub
    End If
    CATIA.StartCommand ("Unlock")
   
    MsgBox "Der Parameter " & intParaToLockObj.Name & " wurde erfolgreich entsperrt"
   
    intSelObj.Clear


End Sub


ANMERKUNGEN:

1. Das ganze ist ein CATVba (du musst also die "Dims" auskommentieren wenn du ein CATVbs brauchst
2. Der StartCommand Befehl hängt von der Umgebungssprache ab
3. Du wirst fragen wofür man die Copies braucht 
=> Eigentlich gar nicht aber manchmal kommt es vor das CATIA den Parameter der sich innerhlab der Selektion befindet nicht "sieht". D.h. das Script würde an dieser Stelle unterbrochen und der Anwender müsste den Parameter per Hand auswählen (ist zumindest bei R19 so...kann auch sein das es bei niedrigeren Releases zu einem Laufzeitfehler kommt).
Deswegen wird der Parameter kopiert. Dann "sieht" CATIA erfahrungsgemäß diesen Parameter

Du siehst das Script hat einige unschöne Sachen dabei und ist deswegen nur ein Workaround. Trotzdem sollte es stabil laufen

------------------
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

Math.random
Mitglied
Ing

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

Beiträge: 8
Registriert: 23.02.2010

erstellt am: 16. Mrz. 2010 08:20    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

Danke, auf die gezeigte Weise funktioniert es. (Ohne dem ausgerückten Hochkomma)
Im Kern sind es ja nur 2 (3) Anweisungen:
Parameter selektieren ⇒ (Kopieren) ⇒ StartCommand ("Lock")

Da ich erst seit wenigen Wochen mit Makros arbeite, hatte ich bisher nicht mit StartCommand zu tun.
Nach ersten Recherchen scheint StartCommand immer dann als Zauberfee herhalten zu müssen, wenn ein Befehl im Prinzip nicht makrofähig ist. Wie es scheint, ist die Zauberfee im Dauereinsatz...
StartCommand scheint jedoch etliche Tücken zu haben. Zu einer habe ich gleich eine Frage:
Ist es sinnvoll, gleich den deutschsprachigen Command hinterherzuschieben? Um das Skript möglichst unabhängig von der Umgebungssprache zu machen?:

Code:
CATIA.StartCommand ("Lock") : CATIA.StartCommand ("Sperren")

Oder sollte man besser eine Abfrage starten (If Umgebungssprache = English Then ... ElseIf ...)
und wie würde die Abfrage nach der Umgebungssprache konkret aussehen?

Und eine weitere Frage:
Auf welchem unkomplizierten Weg lassen sich all die Meldungen über Bugs und mangelnde/fehlende Makrofähigkeit bestimmter Befehle direkt an Dassault herantragen?
Ich weiß, das ist eine sehr naive Frage.
Dassault würde von Fehlermeldungen und Verbesserungsvorschlägen (z.B. bezüglich Bedienfreundlichkeit!) erschlagen werden. Also wird alles abgeblockt.
Ich denke jedoch, wie jeder Software-Entwickler ist Dassault auf Anwender-Feedback angewiesen. Die ärgsten Mängel ließen sich wahrscheinlich mit wenigen Codezeilen abstellen.
Nur habe ich das Gefühl, dass Dassault bezüglich V5 mittlerweile fast völlig handlungsunfähig geworden ist. Ab einer bestimmten Größe geht nichts mehr – das kennt man ja von vielen Firmen. Also stirbt V5 langsam ab und die Leidtragenden sind die Anwender.
Sorry für diesen Exkurs, aber es musste mal gesagt werden.

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: 16. Mrz. 2010 09:30    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 Math.random 10 Unities + Antwort hilfreich

Hallo,

der Befehl CATIA.StartCommand hat einen schlechteren Ruf als sie tatsächlich ist. Es ist aber so wie du sagst das der Befehl meistens dann eingesetzt wird wenn keine Methoden oder Klassen zur verfügung stehen. Das Problem an diesem Befehl ist erstens die Sprachabhängigkeit und zweitens das es ein asynchroner Aufruf ist. D.h. der Script läuft nach dem Aufruf einfach weiter und wartet z.B. nicht auf eine Anwendereingabe (das kannst du mal mit einem positionierten Sketch versuchen da wird das ganz deutlich was ich meine).

Jetzt zu deinem ersten Vorschlag einfach die Umgebungssprache als zweiten Befehl in das Script aufzunehmen. Dieser Vorschlag ist zwar gut funktioniert aber in der Praxis nicht. CATIA löst einen Fehler aus (Unkownen command: XXX). Da dies ein interner CATIA Fehler ist (also kein VBA Automatisierungsfehler) kannst du diesen auch nicht einfach mit einem "On Error Resume next" Statement abfangen bzw. unterdrücken. Das heißt in jeder Zeile in der der Befehl steht der nicht in Umgebungssprache verfasst ist Pop in CATIA die Warnmeldung auf. Nach Bestätigung des Anwenders mit OK läuft das Script weiter. Du siehst so kann man es nicht einsetzen.

Der zweite Vorschlag (If Umgebungssprache = "deutsch".... then ... Else ...) wäre die Lösung wenn da nicht ein riesiges Problem wäre. Es gibt keine Methode um die Umgebungssprache auszulesen  . Das heißt es gibt schon eine Möglichkeit aber diese ist IMHO den Programmieraufwand nicht wert und mehr ein Workaround. Man ließt sich hierbei das Environment mit dem CATIA ausgeführt wird aus. Innerhalb des Installationsordners von CATIA gibt es zwei Batch Tools (CATBatGenXMLSet.exe und CATBatImpXMLSet.exe). Hiervon brauchst du das erste. Dieses Tool kann dir eine bestimmte (angegebene Setting Datei) in ein *.xml File exportieren. Der Aufruf aus VBA kann über den Shell Befehl laufen. Wenn du dann die richtige Setting Datei exportiert hast (in der die Umgebungssprache als Integerwert steht) kannst du diese *.xml Datei mit VBA auslesen und bekommst die Umgebungssprache raus. Die *.xml Datei ist temporär und kann danach gelöscht werden. Ich habe so ein Teil mal geschrieben. Sobald ich es gefunden habe stell ich es online dann kannst du dir das mal anschauen 

Wie du siehst die zweite Möglichkeit funktioniert (sogar relativ stabil) aber es ist halt ein riesen Aufwand. Wenn es aber nicht anderes geht dann rechtfertigt das Ziel den Aufwand  .

Wie und wo du Bugs, etc. berichten kannst weiß ich selber nicht (hab´s noch nicht gemacht). Ich denke aber es wird nichts passieren. Das liegt nicht unbedingt an DS da es ja bei SolidWorks einwandfrei funktioniert (was man an der 2010 Version zu sehen ist) sondern IMHO vielmehr daran das man V5 nicht zwingend weiterbringen will da man V6 schon hat. Dies muss vermarktet und verkauft werden was nicht einfach ist mit diesem System (das will ich hier aber nicht diskutieren).

------------------
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

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: 16. Mrz. 2010 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 Math.random 10 Unities + Antwort hilfreich


GetInterfaceLanguageClass.zip

 
Hallo  ,

wie bereits im letzten Beitrag erwähnt habe ich eine Klasse geschrieben die die Umgebungssprache von CATIA ausließt. Im Anhang ist die Klasse (einfach wieder im Editor über File -> Import) importieren.

Zum Aufruf der Klasse:

Code:

Sub Main()
   
    '***Klasse instanzieren
    Dim intUIClass As New GetInterfaceLanguageClass

    '***Deklaration meines Parameters (OPTIONAL)
    Dim intUserInterfaceLangStr As String
   
    '***Meinem Parameter den Umgebungssprachenwert (String) zuweisen
    intUserInterfaceLangStr = intUIClass.GetTheCATInterfaceLanguage
     
End Sub


HTH 

------------------
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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 19. Dez. 2012 13:58    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 Math.random 10 Unities + Antwort hilfreich

Hallo zusammen,

erstmal danke an Daniel 

Da ich das ganze selbst immer wieder brauche und meine eigens dafür entwickelte Klasse, auch wenn ich damit nie Probleme hatte, mir selbst etwas unsicher schien, habe ich mich dieser Methode hier mal angenommen. Da ich nicht einfach nur nehme, stelle ich das Ergebnis mal hier rein.

Unterschied in der Funktion ist einzig, dass ich auf die Systemsprache verzichte, da ich so oder so CATIA brauche und die Sprachdefinition nicht durch das System definiert werden darf! Ich habe den Code auf VB.Net migriert und auf Grund der vorhandenen Möglichkeiten vereinfacht...

Code:

    Public CATIA As INFITF.Application                      'CATIA-Application / alternativ: As Object

    Public Function GetTheCATInterfaceLanguage() As String

        Dim ShellStr As String
        Dim Handle As Long
        Dim LangCodeInt As Integer
        Dim CATDDLPath As String
        Dim XMLFileName As String
        Dim CATTemp As String
        Dim RetCode As Boolean

        Const oNodeName As String = "CATSettingRepository"
        Const oAtrName As String = "UserInterfaceLanguage"

        Try

            'instanziiere CATIA
            RetCode = Initialize_System()

            If RetCode = True Then
                CATDDLPath = CATIA.Path
                CATTemp = CATIA.SystemService.Environ("TEMP")
                XMLFileName = CATTemp & "\" & "FrameGeneral.xml"
                ShellStr = Chr(34) & CATDDLPath & "\CATBatGenXMLSet.exe" & """ """ & CATTemp & """ ""FrameGeneral"""

                'prüfe ob schon vorhanden
                If FileIO.FileSystem.FileExists(XMLFileName) = True Then
                    FileIO.FileSystem.DeleteFile(XMLFileName)
                End If

                'erstelle XML-Datei
                Handle = Shell(ShellStr, vbHide, True)

                'lese XML-Datei
                LangCodeInt = GetTheAttribut(XMLFileName, oNodeName, oAtrName)

                'löscht die erstellte XML-Datei
                FileIO.FileSystem.DeleteFile(XMLFileName)

                'internen Code in String konvertieren
                Select Case LangCodeInt
                    Case 714
                        Return "English"

                    Case 598
                        Return "French"

                    Case 602
                        Return "German"

                    Case 706
                        Return "Italian"

                    Case 1337
                        Return "Error"

                    Case 0
                        Return "Empty"

                    Case Else
                        Return "English"

                End Select

            Else
                MsgBox("CATIA is not running!")
                Return "no CATIA available"
            End If

        Catch ex As Exception

            MsgBox(ex.ToString)
            Return "Error while reading interface language."

        End Try

    End Function

    Public Function GetTheAttribut(ByVal XMLPfad As String, ByVal NodeName As String, ByVal AttributName As String) As String

        Dim XMLDoc As New Xml.XmlDocument
        Dim RootNode As Xml.XmlNode
        Dim ChildNode As Xml.XmlNode

        Try
            XMLDoc.Load(XMLPfad)

            For Each RootNode In XMLDoc.ChildNodes
                If RootNode.NodeType = Xml.XmlNodeType.Element And RootNode.Name = NodeName Then
                    If RootNode.HasChildNodes = True Then
                        For Each ChildNode In RootNode.ChildNodes
                            If ChildNode.Attributes.Item(0).Value = AttributName Then
                                Return ChildNode.FirstChild.InnerText
                            End If
                            Application.DoEvents()
                        Next
                    End If
                End If
                Application.DoEvents()
            Next

            Return "0"

        Catch ex As Exception

            Return "1337"

        End Try

    End Function

    Public Function Initialize_System() As Boolean

        On Error Resume Next

        'Get CATIA-Application
        CATIA = GetObject(, "CATIA.Application")
        If Err.Number <> 0 Then
            Err.Clear()
            Return False
        End If

        Return True

    End Function


------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

InFlames
Mitglied
techn. Productdesigner


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

Beiträge: 72
Registriert: 22.09.2014

Windows 7 Professional
Catia V5R26

erstellt am: 16. Sep. 2015 09:33    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 Math.random 10 Unities + Antwort hilfreich

hi ich habe auch ein Makros erstellt in dem ich einige Parameter sperren
will / muss. Funktioiert auch alles tadellos.

Allerdings bekomm ich dann immer ein Fenster angezeigt "Lock / List of
parameters to lock:". Dieses muss ich dann bestätigen oder abbrechen.

Kann man diese Nachricht irgendwie unterdrücken vllt in den ToolsOptions?

(FileAlerts geht nicht)

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 17. Sep. 2015 11:54    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 Math.random 10 Unities + Antwort hilfreich

Hallo InFlames,

das Fenster programmatisch zu schliessen geht schon. Dazu

- per WinApi den Handle zum Dialogfenster ermitteln
- per WinApi die Handle der Kinderfenster ermitteln
- per WinApi einen 'Klick' an das 'OK' - Fenster schicken

So ähnlich wie hier:

http://catia2.cad.de/index.php/de/downloads/skripts-applikationen/295-listgeoset-elemente-eines-hybridbody-auslisten

Unterschiede:

- die Dialog-Überschrift ist anders
- Du brauchst den OK-Button

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

PLP-consult
Mitglied
CATIA, SmarTeam & Windchill Anwenderbetreuer


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

Beiträge: 51
Registriert: 19.09.2005

erstellt am: 21. Sep. 2015 08: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 Nur für Math.random 10 Unities + Antwort hilfreich

Hallo InFlames,

ich habe in meinem *.catvba das Problem über einen SendKeys-Befehl gelöst. Dadurch bestätigst du den Dialog mit der voreingestellten Belegung (z.B. OK ist aktiver Button).

....
selection1.Search "Name=ParameterName,all"

CATIA.StartCommand ("Sperren")

CATIA.RefreshDisplay = True

SendKeys "{ENTER}"

selection1.Clear

end Sub

Funktioniert bei mir wunderbar.

Gruss
Markus

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