Grasshopper

algorithmic modeling for Rhino

Thomas Carriot
  • Male
  • nantes
  • France
Share on Facebook
Share on Facebook MySpace
  • Blog Posts
  • Events
  • Groups (3)
  • Photos
  • Photo Albums
  • Videos

Thomas Carriot's Groups

 

Thomas Carriot's Page

Profile Information

Comment Wall (3 comments)

You need to be a member of Grasshopper to add comments!

At 7:10am on April 24, 2013, Msahli zouhir said…

Bonjour Thomas

Faisant un peu d'ordre :

Alors

'Référence Abscisse Maitre Couple 
Dim _line As New LineCurve(New Point3d(0,Lar,Cre),New _ Point3d(lpp,lar,Cre))

1/ lpp,lar,cre = longeur du navire , largeur , creux ,sont les variables input du composant VB

--------------------------------------------------------------------------------------
Dim TG_Point, pnt0 As Point3d
Dim indx= 0  'pour amorcer la variable
Dim geometry = New System.Collections.Generic.List(Of GeometryBase)()
geometry.Add(Hull)


Dim Bool as boolean =_line.ClosestPoints(geometry, Pnt1, TG_Point _ ,indx)
   
2/ Hull = la géométrie navire est aussi une variable input du composant VB ,à inclure dans la liste geometry

    Pnt1 = le point le plus proche sur la courbe _line :output de la fonction ClosestPoints

    TG_Point = le point le plus proche sur la géométrie navire :output de la fonction ClosestPoints

                   ce point correspond a la largeur maximale de l'objet Coque(Hull)

    indx= index de la geometry :output de la fonction ClosestPoints

Remarque :il faut consulter le RhinoCommon SDK help

--------------------------------------------------------------------------------

'Section Maître Couple

Dim MSCntrCrv() = Brep.CreateContourCurves(Hull,(New Plane(TG_Point, New Vector3d(1,0,0))))

If MSCntrCrv(0).MakeClosed(0) then
    Dim Ap = AreaMassProperties.Compute(MSCntrCrv(0))

    DIm MtrCplArea=Ap.Area
End If

A=MtrCplArea

3/ A = variable output du composant VB

Bonne Chance et n'oublie pas de consulter le RhinoCommon SDK help (http://4.rhino3d.com/5/rhinocommon/)

At 2:45pm on April 22, 2013, Msahli zouhir said…

Salut  Thomas

je viens de lire votre message

Alors:

1/ Par définition: l'abscisse du  maître couple correspond à la largeur maximale du navire 

2/ l'air du maître couple est toujours calculée à différentes lignes d'eau fixées d'avance.

3/pour le calcul de l'air du maître couple à un tirant d'eau précis on procède à une interpolation linéaire entre les lignes d'eau correspondantes

Remarque/Correction :

la solution que j'ai donné est en RhinoCommon directement exploitable en grasshopper (composant VB) et non en RhinoScript :elle donne l'air du maître couple maximale

At 10:36am on April 21, 2013, Msahli zouhir said…

Bonjour Thomas

essaie ce qui suit (Rhino Script)

'Référence Abscisse Maitre Couple 
Dim _line As New LineCurve(New Point3d(0,Lar,Cre),New _ Point3d(lpp,lar,Cre))


Dim TG_Point, pnt0 As Point3d
Dim indx= 2*D
Dim geometry = New System.Collections.Generic.List(Of GeometryBase)()
geometry.Add(Hull)


Dim Bool as boolean =BS_line.ClosestPoints(geometry, Pnt0, TG_Point _ ,indx,10) 'Pt1 is on Brep(Hull)
   
_line.ClosestPoints(geometry, pnt0,TG_Point,indx,10) 'Pt1 is on Brep(Hull)
   

'Le point Pt1 correspond a la largeur maximale de l'objet Coque(Hull)

'Section Maître Couple _______________________________________________________
Dim MSCntrCrv() = Brep.CreateContourCurves(Hull,(New Plane(New _ Point3d(0.5*lwl,0,0), New Vector3d(1,0,0))))
    If MSCntrCrv(0).MakeClosed(0) then
    Ap = AreaMassProperties.Compute(MSCntrCrv(0)) :MtrCplArea=Ap.Area
End If

'

Thomas Un Conseil ! balance sur RhinoScript c'est plus simple et énormément plus efficace

 
 
 

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service