Communauté
Fusion - Français
Bienvenue sur les forums Fusion (anciennement Fusion 360) d’Autodesk. Partagez vos connaissances, posez des questions, collaborez sur des idées, et explorez les sujets Fusion populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Probleme definition d'un point sur une courbe

6 RÉPONSES 6
RÉSOLU
Répondre
Message 1 sur 7
antoine.tur
427 Visites, 6 Réponses

Probleme definition d'un point sur une courbe

Bonjour,

 

Je viens tout juste de me mettre a F360, j’espère ne pas faire de doublons : je réalise un fuselage d'avion, grâce aux plan originaux en sketch,  j'ai pu définir une courbe par point : cette courbe mesure 733.629mm et j'aimerai pouvoir y apposer un point à 671.06mm (en partant du bas à droite) et la découper à cette endroit la mais impossible pour moi, je n'arrive pas à mesurer  des distances ou mettre le point  précisément sur cette courbe. Désolé !

 

Merci pour tout pour vos réponses

 

Cordialement,

 

Fusion 360 Education Licence - apparemment à jour !

6 RÉPONSES 6
Message 2 sur 7
iphone.cesbron
en réponse à: antoine.tur

Bonjour Antoine,

 

Tu peux définir un plan de construction avec <Plane Along Path> en sélectionnant ta coube

Capture d'écran 2020-04-25 09.20.33.png

 

Ensuite tu sélectionne <Physical> dans distance Type et tu auras la position dans l'unité que tu as choisi (mm)

Capture d'écran 2020-04-25 09.15.55.png

 

Enfin du sélectionne ton plan de construction pour créer un sketche,  tu choisis l'origine pour placer un point et Voilà.

Bonne journée et bon Week-end.

 

Message 3 sur 7
JeromeBriot
en réponse à: iphone.cesbron


@iphone.cesbron  a écrit :

 

Tu peux définir un plan de construction avec <Plane Along Path> en sélectionnant ta coube

 Voir aussi "Point Along Path" tout en bas du même menu. Le problème de cette méthode est que le point n'existera pas dans l'esquisse (sketch) d'origine car celui-ci a été créé avant.

 

Pour ma part, je me méfie de ces points calculés avec un précision donnée. Le mieux est quand même de créer les points de façon géométrique en utilisant des lignes de construction et des intersections.

 

Voici quand même deux scripts Python qui permettent de placer un point sur une ligne dans l'esquisse en cours.

 

Dans le premier script, le point est ajouté à l'endroit du clic de la souris :

import adsk.core, traceback

def run(context):
    ui = None
    try:

        app = adsk.core.Application.get()
        ui  = app.userInterface

        currentSketch = app.activeEditObject

        if currentSketch.objectType != 'adsk::fusion::Sketch':
            ui.messageBox('Edit an existing sketch first.')
            return

        selection = ui.selectEntity('Select a sketch curve', 'SketchCurves,SketchLines,SketchCircles,ConstructionLines')

        if selection:

            selectedCurve = selection.entity

            pointInModelCoordinate = selection.point

            pointInSkecthCoordinate = currentSketch.modelToSketchSpace(pointInModelCoordinate)

            newPoint = currentSketch.sketchPoints.add(pointInSkecthCoordinate)

            if newPoint:
                currentSketch.geometricConstraints.addCoincident(newPoint, selectedCurve)

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

Dans le deuxième, on demande un paramètre compris entre 0 et 1 pour créer le point sur la courbe paramétrée :

import adsk.core, traceback

def run(context):
    ui = None
    try:

        app = adsk.core.Application.get()
        ui  = app.userInterface

        currentSketch = app.activeEditObject

        if currentSketch.objectType != 'adsk::fusion::Sketch':
            ui.messageBox('Edit an existing sketch first.')
            return

        p, isCancelled = ui.inputBox('Enter a value between 0.0 and 1.0', 'Value', '0.5')

        if isCancelled:
            return

        p = float(p)

        selection = ui.selectEntity('Select a sketch curve', 'SketchCurves,SketchLines,SketchCircles,ConstructionLines')

        selectedCurve = selection.entity

        returnValue, startParameter, endParameter = selectedCurve.geometry.evaluator.getParameterExtents()

        if not returnValue:
            return

        rng = endParameter-startParameter
        parameter = rng * p + startParameter

        returnValue, pointInSkecthCoordinate = selectedCurve.geometry.evaluator.getPointAtParameter(parameter)

        if not returnValue:
            return

        newPoint = currentSketch.sketchPoints.add(pointInSkecthCoordinate)

        if newPoint:
            currentSketch.geometricConstraints.addCoincident(newPoint, selectedCurve)

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

 

Pour le deuxième script, dans le cas qui nous intéresse ici, le paramètre sera 0,9147130225 (671.06/733.629) ou 0,085286977 car le sens de la courbe n'est pas pris en compte.

 

Voir les fichiers ci-joints.

 

C'est vite fait mais je pense que c'est un bon début.

 

Message 4 sur 7
iphone.cesbron
en réponse à: JeromeBriot

Effectivement Jérôme, tu as raison sur les points que tu as abordés et je ne connaissait pas la fonction Point Along Path.

Chapeau bas et bonne soirée.

Philippe

Message 5 sur 7
antoine.tur
en réponse à: JeromeBriot

Merci de vos réponse,

 

J'ai essayé le script placePointOnCurveAt car je ne sais pas ou je dois le positionner justement ! Malheureusement, j'ai le droit à un message d'erreur

 

---------------------------
Fusion 360
---------------------------
Failed:
Traceback (most recent call last):
File "C:/Users/titur/AppData/Roaming/Autodesk/Autodesk Fusion 360/API/Scripts/placePointOnCurveAt/placePointOnCurveAt.py", line 24, in run
p = float(p)
ValueError: could not convert string to float: '0,9147130225'

---------------------------
OK
---------------------------

 

En tout cas merci pour le coup de main !

Message 6 sur 7
antoine.tur
en réponse à: JeromeBriot

Ca marche tip top ! Merci (petit probleme en "," et "." qui me créait une erreur mais c'est corrigé !

 

Merci beaucoup du temps pris !

Message 7 sur 7
JeromeBriot
en réponse à: antoine.tur


@antoine.tur  a écrit :

petit probleme en "," et "."

 


Oui désolé. Il faut utiliser la notation anglo-saxonne 0.9147130225 dans Fusion 360.

 

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report