Macro - regel de tekstgrootte van een 2D-schets met een coëfficiënt

Hallo

Het doel: het definiëren van een tekstgrootte evenredig aan een label met behulp van een coëfficiënt die het label en de tekst die het bevat in de schets van een onderdeel zal verkleinen.

Ik geef je de code die door een AI is geschreven, hieronder:

*' Définir la hauteur de base du texte*
*Dim hauteurBase As Double = 5 ' Hauteur initiale en mm*
*Dim hauteurFinale As Double*
* *
*' Calculer la nouvelle hauteur*
*hauteurFinale = hauteurBase * CoeffMultiplicateur*
* *
*' Appliquer au texte dans l'esquisse nommée "Esquisse1"*
*Dim oDoc As PartDocument = ThisApplication.ActiveDocument*
*Dim oCompDef As PartComponentDefinition = oDoc.ComponentDefinition*
*Dim oSketch As Sketch = oCompDef.Sketches.Item("Esquisse1")*
* *
*' Parcourir les objets texte de l'esquisse*
*For Each oTextBox As TextBox In oSketch.TextBoxes*
*    oTextBox.Height = hauteurFinale*
*Next*
* *
*' Mettre à jour le modèle*
*InventorVb.DocumentUpdate()*

Het probleem zodra ik de macro start, crasht Inventor (Inventor 2022 5.2)

Ik ben een complete onwetende, zou iemand de code voor me kunnen verbeteren, of me een code aanbieden die is aangepast voor wat ik wil krijgen?

Vooraf klaar

Ik ben niet gespecialiseerd in macro's in Inventor, dus het is moeilijk om het probleem te zien.

Maar om een macro in het algemeen te debuggen, moet je stap voor stap door de editor gaan (debugmodus en F8) om de regel te zien die het probleem veroorzaakt:

Kijk natuurlijk naar deze link in het Engels, maar het is begrijpelijk om een macro te debuggen afhankelijk van het type fout:

Voor jouw informatie: AI is geweldig voor niet-specifieke macro's (VBA Exel ok), maar specifiek VBA SW, Inventor of anders, dit is iets anders vanwege te veel functies, en weinig voorbeelden van AI die daardoor de irritante neiging heeft om niet-bestaande functies in de CAD-software API uit te vinden en daardoor het hele systeem te buggen. En zonder kennis van VBA is het ingewikkeld om te detecteren waar de AI faalt.

1 like