尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗This package is for using the Euclid geometry library in Rhino3D.
It provides extension members for drawing Euclid geometry in Rhino.
And for converting Rhino geometry to Euclid geometry. And vice versa.
The version number of Euclid.Rhino is aligned with the referenced version of Euclid.
Drawing requires an active document inside Rhino. Use net48 for Rhino 7 or net8.0 for Rhino 8 running .NET 8.
Reference RhinoCommon separately in your project, or use the reference provided by your Rhino scripting host.
After referencing the package Euclid.Rhino in your project or F# script
just open the Euclid namespace:
open Euclid
This will auto-open the modules AutoOpenRhinoTypeExtensions and AutoOpenEuclidExtensions.
You will get access to all the extension methods for Rhino integration.
See goswinr.github.io/Euclid.Rhino for the full documentation. For the main functions you can also look at main.fs .
open Euclid
open Rhino.Geometry
// Rhino → Euclid (via extension properties)
let rhinoPoint = Point3d(1.0, 2.0, 3.0)
let euclidPnt : Pnt = rhinoPoint.Pnt // 3D point
let euclidPt : Pt = rhinoPoint.Pt // 2D point (Z ignored)
let rhinoVec = Vector3d(1.0, 0.0, 0.0)
let euclidVec : Vec = rhinoVec.Vec // 3D vector
let euclidVc : Vc = rhinoVec.Vc // 2D vector (Z ignored)
// Euclid → Rhino (via .Rh* properties)
let pnt = Pnt(1.0, 2.0, 3.0)
let rhPoint : Point3d = pnt.RhPt
let vec = Vec(1.0, 0.0, 0.0)
let rhVec : Vector3d = vec.RhVec
let line = Line3D(Pnt.Origin, Pnt(10.0, 5.0, 0.0))
let rhLine : Line = line.RhLine
open Euclid
// Draw on current layer
let pt = Pnt(5.0, 10.0, 0.0)
pt.Draw()
// Draw on a specific layer (auto-created if missing)
pt.Draw("MyLayer")
// Draw with layer and object name
pt.Draw("MyLayer", "object name xyz")
// Draw with labeled dot
pt.DrawDot("Start")
// Functional style for piping
let points = [Pnt(0,0,0); Pnt(1,0,0); Pnt(1,1,0)]
points |> List.iter (Pnt.draw >> ignore)
// Draw lines and polylines
let ln = Line3D(Pnt.Origin, Pnt(10.0, 10.0, 0.0))
ln.Draw("layer name")
let poly = Polyline3D.createFromPts points
poly |> Polyline3D.draw |> ignore
// Draw a polyline on a specific layer
Debug3D.drawPolyLineLayer(points, "layer name")
see CHANGELOG.md
Just run dotnet build in the root directory.
The core geometry library was originally written by hand. AI tools have also been used for code review, fixes, tests and documentation.