Beyond Inventor Wizard... The Community!

Autodesk Inventor en AutoCAD Forum

ValueInput Object in SetDistanceExtent Method van een Extrude,ThreatFeature

Beste,

Daar de internal unit for lenght is cm zal een waarde 2 resulteren in een extrusie van 20 mm!

Als je 0.2 gebruikt geeft dit een fout, maat hij doet de extrusie wel juist !

Is er een methode om dit te doen zonder deze foutmelding ?

Kan je de internal unit for lenght veranderen in mm ?

mvg 

Johan

Aantal maal bekeken: 251

Hierop reageren

Berichten in deze discussie

Johan,

Het wijzigen van de interne unit zal echt niet gaan. Dit is de units waarmee inventor geprogrammeerd is.
Wanneer je je code die je nu hebt zou kunnen delen dan kan ik er even naar kijken.

Dit heeft denk ik ook te maken met je Regio en Taal instelling of deze met comma's of punt als decimaal werkt. Wanneer je een maat van een schets invoert dan maakt het niet uit wat je gebruikt Inventor wijzigt deze zelf naar wat hij nodig heeft. Via jouw programma zou ik dat even moeten bekijken.

Een mogelijkheid kan ook zijn om de waarde die je invoert eerst te laten controleren op punten/comma's en dan pas er mee verder te handelen.

Rob.

Beste Rob,

Het betreft een gewone extrude in een iLogic rule.

Als ik 0,2 invoer ( een komma), dan geeft hij een fout dat het aantal argumenten niet klopt !  Logisch !

Als ik zoals hieronder een punt ingeef, dan geeft hij een fout :

Niet nader omschreven fout (Exception from HRESULT: 0x80004005 (E_FAIL)), maar hij voert wel de extrusie correct uit !

Dim oExtrudeDef As ExtrudeDefinition  
oExtrudeDef = partDef.Features.ExtrudeFeatures.CreateExtrudeDefinition(oProfile, kJoinOperation)
Call oExtrudeDef.SetDistanceExtent(0.2, kSymmetricExtentDirection)
Dim oExtrude As ExtrudeFeature
oExtrude = partDef.Features.ExtrudeFeatures.Add(oExtrudeDef)

Johan


ik heb nog nooit geweten dat 0.2 een fout geeft, echter...
Wanneer je je variabele declareert als een integer (geheel getal tussen - zoveel en + zoveel, en daar dan 0.2 aan toewijst zal je inderdaad een foutmelding krijgen, maar niet omdat je 0.2 niet als input kunt ingeven, maar wel omdat die in conflict zit met de declaratie van de variabele, dus daarom zou je bvb uw variabele als double kunnen declareren.
Ik vermoed dat daar uw probleem zit, maar zonder de code te zien is het gissen.
De internal units kan je bij mijn weten niet wijzigen.
Ik kan mijn antwoord hier niet bewerken, en had de overige antwoorden niet gelezen :-(
zet je waarde eens tussen "0.2"

Johan, wat Frederic ook aangeeft om de waarde als string in te voeren kan zeker werken. De omschrijving in de API van de SetDistanceExtend Methode geeft het volgende op:

Defines the length of the extrusion. This can be either a numeric value or a string. A parameter for this value will be created and the supplied string or value is assigned to the parameter. If a value is input, the units are centimeters. If a string is input, the units can be specified as part of the string or it will default to the current length units of the document.

Fréderick, R. Van der Veek,

De . notatie werkt hoor !  vb 0.6 !

De fout kwam van de fillets die ik later in de script maak ! Indien hij de fillets niet kan leggen omdat de extrusiedikte te klein is geeft hij een fout !

Bedankt voor de gedane moeite !

mvg

Johan

RSS

Interessante links

Word Fan!

Inventor Wizard Cartoons

Video's

  • Video's toevoegen
  • Alles weergeven

© 2019   Gemaakt door Stefaan Boel.   Verzorgd door

Banners  |  Een probleem rapporteren?  |  Algemene voorwaarden