- Messages : 106
- Karma: 3
- Remerciements reçus 2
- Accueil
- Forum
- RhinoShack Forums
- Support et assistance
- Rhinoceros 3d
- Plan C en script
×
Tout sur Rhino 3d
Plan C en script
- onlyforpeace
- Auteur du sujet
- Hors Ligne
- Expert Boarder
-
Réduire
Plus d'informations
il y a 5 ans 2 mois #168
par onlyforpeace
Plan C en script a été créé par onlyforpeace
je n'arrive pas a comprendre comment on gère le plan C en script.
j'aimerais déplacer le plan C dans une direction précise (ex: normal et au début d'une droite) et dessiner un profil sur ce plan C directement en lançant un script et en cliquant sur une extrémité d'une droite... comment dois je procéder?
j'aimerais déplacer le plan C dans une direction précise (ex: normal et au début d'une droite) et dessiner un profil sur ce plan C directement en lançant un script et en cliquant sur une extrémité d'une droite... comment dois je procéder?
Connexion pour participer à la conversation.
- SwissRhino
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 81
- Karma: 2
- Remerciements reçus 11
il y a 5 ans 2 mois - il y a 5 ans 2 mois #170
par SwissRhino
Réponse de SwissRhino sur le sujet Plan C en script
Pour changer le PlanC (CPlane) dans une fenêtre (viewport) on peut utiliser la methode Rhinoscript ViewCPlane(). Sans argument, cette methode donne le PlanC actuel de la fenêtre, autrement on peut donner un "plane" comme argument, et le PlanC changera pour aligner sur le nouveau "plane" donné.
Option Explicit
Call Test()
Sub Test()
Dim line, dom, plane
line = Rhino.GetObject("Sélectionner une droite", 4)
If Rhino.IsLine(line) Then
dom = Rhino.CurveDomain(line)
plane = Rhino.CurvePerpFrame(line, dom(0))
Call Rhino.ViewCPlane(Rhino.CurrentView(), plane)
End If
End Sub
Dernière édition: il y a 5 ans 2 mois par SwissRhino.
Connexion pour participer à la conversation.
- onlyforpeace
- Auteur du sujet
- Hors Ligne
- Expert Boarder
-
Réduire
Plus d'informations
- Messages : 106
- Karma: 3
- Remerciements reçus 2
il y a 5 ans 1 mois #188
par onlyforpeace
Réponse de onlyforpeace sur le sujet Plan C en script
je vizns de copier coller ton script pour tester,
du coup j'ajoute la création d'une ligne, mais elle ne se créer pas au bout de la ligne...
du coup j'ajoute la création d'une ligne, mais elle ne se créer pas au bout de la ligne...
Option Explicit
Call Test()
Sub Test()
Dim line, dom, plane
line = Rhino.GetObject("Sélectionner une droite", 4)
If Rhino.IsLine(line) Then
dom = Rhino.CurveDomain(line)
plane = Rhino.CurvePerpFrame(line, dom(0))
Call Rhino.ViewCPlane(Rhino.CurrentView(), plane)
rhino.addline array(0, 0, 0), array(10, 0, 0)
End If
End Sub
Connexion pour participer à la conversation.
- SwissRhino
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 81
- Karma: 2
- Remerciements reçus 11
il y a 5 ans 1 mois #190
par SwissRhino
Réponse de SwissRhino sur le sujet Plan C en script
Oui... Les coordonnées en script sont TOUJOURS en WORLD, sauf que vous avez une option dans la méthode - p. ex. "BoundingBox". Donc, le plus simple c'est de créer l’objet en coordonnées World, et ensuite le transformer vers le planC désiré... comme cela:
--Mitch
Option Explicit
Call Test()
Sub Test()
Dim line, dom, plane, add_line, xform
line = Rhino.GetObject("Sélectionner une droite", 4)
If Rhino.IsLine(line) Then
dom = Rhino.CurveDomain(line)
plane = Rhino.CurvePerpFrame(line, dom(0))
Call Rhino.ViewCPlane(Rhino.CurrentView(), plane)
add_line = Rhino.AddLine(array(0, 0, 0), array(10, 0, 0))
xform = Rhino.XformRotation(Rhino.WorldXYPlane, plane)
Rhino.TransformObject add_line, xform, False
End If
End Sub
--Mitch
Connexion pour participer à la conversation.
Temps de génération de la page : 0.302 secondes