CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

2 participants

Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par ours_brun83 Mer 13 Mai 2020 - 15:32

Bonjour tt le monde.
Je bloque sur un point de mon developpement en CATSCRIPT
apres avoir demander la selection d'un segment de harnais (HybridShapeSpline)
Set selection_courante = Documentcourant.Selection

je voudrais distribuer 50 points sur la courbe (le segment de harnais)
je cherche a faire marcher ce genre de fonction
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, 0.000000, False)
J'ai essayer d'enregistrer la macro et de la rejouer mais ca bloque la !
Set length1 = parameters1.Item("Point\Distance") la methode item a echouéExclamation!

je trouve pas d'exemple la dessus je suis en V5R20
Merci beaucoup d'avance.

ours_brun83
timide
timide

Messages : 8
Date d'inscription : 31/01/2018
Localisation : VAR

Revenir en haut Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Re: Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par lumpazepfel Jeu 14 Mai 2020 - 8:23

Bonjour Pascal,

Pour récupérer la valeur du paramètre, il faut :
Set length1 = parameters1.Item("Point\Distance").value

As tu bien un paramètre nommé "Point\Distance" dans ta Part?

Si possible poste ton code complet (si n'y a pas de problème de confidentialité) ça permettra de le tester.
lumpazepfel
lumpazepfel
Fédérateur
Fédérateur

Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Re: Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par ours_brun83 Jeu 14 Mai 2020 - 14:55

slt Marc , bin non c'est normalement l'icone qui fait ca, j'avais pas l'idee de creer ce parametre avant de lancer la macro , c'est peut etre la solution ExclamationExclamation
Mais comment , quel type de parametre faut il cree , yen a beaucoup
Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Creati10
je vais essayer avec ca pour voir si ca me debloque
Cordialement

ours_brun83
timide
timide

Messages : 8
Date d'inscription : 31/01/2018
Localisation : VAR

Revenir en haut Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Re: Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par ours_brun83 Jeu 14 Mai 2020 - 15:03

Code:

Language="VBSCRIPT"
'pt sur segment
'fichier = essai pt sur segment
Sub CATMain()
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim Documentcourant As Document
Set Documentcourant = CATIA.ActiveDocument

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("Corps principal")

Dim userselect As Selection
Dim selecteddElement
Dim SelectedElement2
Set userselect = CATIA.ActiveDocument.selection

'---------------------
'Demande de selection de la Courbe Flex
'-------------------------------------
msgbox "-------------------Suivre instruction en bas - statusBar --------------------"
Dim FiltreNo(0) As String
FiltreNo(0) = "AnyObject"
Dim Retour As String
Dim selection_cour As Selection
Set selection_cour = Documentcourant.selection
selection_cour.Clear
Retour = selection_cour.SelectElement2(FiltreNo,"Selectionner la courbe flexible a traiter", False)


Dim Corpschemin1 As String
Dim Courbeflex1 As String
Dim statusSelection As String

statusSelection = CATIA.StatusBar

Dim firstOccur As Long
firstOccur = InStr(1, statusSelection, "/")
Dim secondOccur As Long
secondOccur = InStrRev(statusSelection, "/")
Courbeflex1 = Left (statusSelection, firstOccur -1)
Corpschemin1 = Mid (statusSelection, firstOccur + 1, secondOccur - firstOccur -1)

'msgbox Corpschemin1 "Corps.------"

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item(Cstr(Corpschemin1))
msgbox hybridBody1.Name

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapeSpline1 As HybridShape
Set hybridShapeSpline1 = hybridShapes1.Item(Cstr(Courbeflex1))
msgbox hybridShapeSpline1.Name

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeSpline1)

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, 0.000000, False)

hybridShapePointOnCurve1.DistanceType = 1

Dim hybridBody2 As HybridBody
Set hybridBody2 = hybridBodies1.Item("essai")

hybridBody2.AppendHybridShape hybridShapePointOnCurve1

part1.InWorkObject = hybridShapePointOnCurve1

part1.Update

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapeSpline1)

Dim hybridShapePointOnCurve2 As HybridShapePointOnCurve
Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference2, 0.000000, False)

hybridShapePointOnCurve2.DistanceType = 1

hybridBody2.AppendHybridShape hybridShapePointOnCurve2

part1.InWorkObject = hybridShapePointOnCurve2

part1.Update

Dim Wzk3D As Factory
Set Wzk3D = CATIA.ActiveDocument.Part.HybridShapeFactory
Dim HBody As HybridBody
Set HBody = CATIA.ActiveDocument.Part.HybridBodies.Add
HBody.Name = "Points"
Dim Mypoint As HybridShapePointOnCurveWithReferenceFromPercent
Set Mypoint = Wzk3D.AddNewPointOnCurveWithReferenceFromPercent (reference1, reference2, 10 , False)


Dim lngPercentageStep As long
Dim n As Integer
Dim iNumberOfPoints as Integer

iNumberOfPoints = 50
lngPercentageStep = 1 / iNumberOfPoints

msgbox "ooo"

For n = 1 to iNumberOfPoints
  Set Mypoint = HybridShapeFactory.AddNewPointOnCurveWithReferenceFromPercent (reference1, reference2,  n * lngPercentageStep , False)
  HBody.AppendHybridShape Mypoint
  Mypoint.name ="HelpingPoint." & CStr(n)
Next





'hybridBody1.Name = Corpschemin1
'hybridShapeSpline1 = Courbeflex1

part1.Update

End Sub

ours_brun83
timide
timide

Messages : 8
Date d'inscription : 31/01/2018
Localisation : VAR

Revenir en haut Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Re: Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par ours_brun83 Jeu 14 Mai 2020 - 15:05

entre temps j'ai changé le code .. J'ai celui la qui va assez loin il cree 2 points au debut du segment et s'arrete a la boucle For next de la fin.

ours_brun83
timide
timide

Messages : 8
Date d'inscription : 31/01/2018
Localisation : VAR

Revenir en haut Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Re: Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par ours_brun83 Jeu 14 Mai 2020 - 16:55

a yest j'ai reussi , ouf
j'ai changé ca Exclamation
Set Mypoint = Wzk3D.AddNewPointOnCurveWithReferenceFromPercent (reference1, reference2, n * lngPercentageStep , False)
et hop 50 pts sur la courbe selectionnée ExclamationExclamation
A+

ours_brun83
timide
timide

Messages : 8
Date d'inscription : 31/01/2018
Localisation : VAR

Revenir en haut Aller en bas

Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT. Empty Re: Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum