Compare commits
7
Commits
f4ec31806b
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a03aa1c1ff | ||
|
|
46bfea4a87 | ||
|
|
734ed008b0 | ||
|
|
1b834cff0d | ||
|
|
7d79db5685 | ||
|
|
060fb66029 | ||
|
|
6571576eaa |
@@ -20,19 +20,19 @@ namespace Sample.Disp
|
|||||||
public void Display(Bind bind)
|
public void Display(Bind bind)
|
||||||
{
|
{
|
||||||
bind.Rgb = ColorUtil.GetDiscreteRGB_Env();
|
bind.Rgb = ColorUtil.GetDiscreteRGB_Env();
|
||||||
new Box3d(0, 0, 0, 1, 1, 1).ToDraw_Face().Display(bind);
|
new box3d_t(0, 0, 0, 1, 1, 1).ToDraw_Face().Display(bind);
|
||||||
|
|
||||||
bind.Rgb = ColorUtil.GetDiscreteRGB_Env();
|
bind.Rgb = ColorUtil.GetDiscreteRGB_Env();
|
||||||
new Box3d(1, 0, 0, 2, 1, 1).ToDraw_Face().Display(bind);
|
new box3d_t(1, 0, 0, 2, 1, 1).ToDraw_Face().Display(bind);
|
||||||
|
|
||||||
bind.Rgb = ColorUtil.GetDiscreteRGB_Env();
|
bind.Rgb = ColorUtil.GetDiscreteRGB_Env();
|
||||||
new Box3d(2, 0, 0, 3, 1, 1).ToDraw_Face().Display(bind);
|
new box3d_t(2, 0, 0, 3, 1, 1).ToDraw_Face().Display(bind);
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
dst.Expand(new Vec3d(0, 0, 0));
|
dst = dst.Expanded(new vec3d_t(0, 0, 0));
|
||||||
dst.Expand(new Vec3d(3, 1, 1));
|
dst = dst.Expanded(new vec3d_t(3, 1, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Main()
|
static void Main()
|
||||||
|
|||||||
+17
-17
@@ -40,14 +40,14 @@ namespace Sample.Disp
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DrawLines()
|
public static void DrawLines()
|
||||||
{
|
{
|
||||||
List<Vec3d> ps;
|
List<vec3d_t> ps;
|
||||||
double[] vs;
|
double[] vs;
|
||||||
int n = 10; //vertex num
|
int n = 10; //vertex num
|
||||||
|
|
||||||
////create drawPoints
|
////create drawPoints
|
||||||
ps = new List<Vec3d>(n);
|
ps = new List<vec3d_t>(n);
|
||||||
for (int i = 0; i < n; i++)
|
for (int i = 0; i < n; i++)
|
||||||
ps.Add(new Vec3d(i, 0, 0));
|
ps.Add(new vec3d_t(i, 0, 0));
|
||||||
vs = new double[ps.Count * 3];
|
vs = new double[ps.Count * 3];
|
||||||
for (int i = 0; i < ps.Count; i++)
|
for (int i = 0; i < ps.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -125,16 +125,16 @@ namespace Sample.Disp
|
|||||||
for (int i = 0, k = 0; i < n; i++)
|
for (int i = 0, k = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
//the rgb values set as casual.
|
//the rgb values set as casual.
|
||||||
Vec3d rgb = ColorUtil.GetDiscreteRgb(i);
|
vec3d_t rgb = ColorUtil.GetDiscreteRgb(i);
|
||||||
Tri3d tri = new Tri3d(new Vec3d(i, 0, 0), new Vec3d(i + 1, 0, 0), new Vec3d(i + 0.5, 0, 1));
|
tri3d_t tri = new tri3d_t(new vec3d_t(i, 0, 0), new vec3d_t(i + 1, 0, 0), new vec3d_t(i + 0.5, 0, 1));
|
||||||
for (int j = 0; j < 3; j++)
|
for (int j = 0; j < 3; j++)
|
||||||
{
|
{
|
||||||
vs[k++] = rgb.x;
|
vs[k++] = rgb.x;
|
||||||
vs[k++] = rgb.y;
|
vs[k++] = rgb.y;
|
||||||
vs[k++] = rgb.z;
|
vs[k++] = rgb.z;
|
||||||
vs[k++] = tri.ps[j].x;
|
vs[k++] = tri[j].x;
|
||||||
vs[k++] = tri.ps[j].y;
|
vs[k++] = tri[j].y;
|
||||||
vs[k++] = tri.ps[j].z;
|
vs[k++] = tri[j].z;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//V means Vertex; C means Color
|
//V means Vertex; C means Color
|
||||||
@@ -146,9 +146,9 @@ namespace Sample.Disp
|
|||||||
for (int i = 0, k = 0; i < n; i++)
|
for (int i = 0, k = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
//the rgb values set as casual.
|
//the rgb values set as casual.
|
||||||
Vec3d rgb = ColorUtil.GetDiscreteRgb(i);
|
vec3d_t rgb = ColorUtil.GetDiscreteRgb(i);
|
||||||
Tri3d tri = new Tri3d(new Vec3d(i, 0, 3), new Vec3d(i + 1, 0, 3), new Vec3d(i + 0.5, 0, 4));
|
tri3d_t tri = new tri3d_t(new vec3d_t(i, 0, 3), new vec3d_t(i + 1, 0, 3), new vec3d_t(i + 0.5, 0, 4));
|
||||||
Vec3d nn = tri.GetNormal();
|
vec3d_t nn = tri.GetNormal();
|
||||||
for (int j = 0; j < 3; j++)
|
for (int j = 0; j < 3; j++)
|
||||||
{
|
{
|
||||||
vs[k++] = rgb.x;
|
vs[k++] = rgb.x;
|
||||||
@@ -157,9 +157,9 @@ namespace Sample.Disp
|
|||||||
vs[k++] = nn.x;
|
vs[k++] = nn.x;
|
||||||
vs[k++] = nn.y;
|
vs[k++] = nn.y;
|
||||||
vs[k++] = nn.z;
|
vs[k++] = nn.z;
|
||||||
vs[k++] = tri.ps[j].x;
|
vs[k++] = tri[j].x;
|
||||||
vs[k++] = tri.ps[j].y;
|
vs[k++] = tri[j].y;
|
||||||
vs[k++] = tri.ps[j].z;
|
vs[k++] = tri[j].z;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//V means Vertex; C means Color; N means Normal
|
//V means Vertex; C means Color; N means Normal
|
||||||
@@ -171,16 +171,16 @@ namespace Sample.Disp
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Demonstrates drawing 3D triangles using the Tri3d helper class.
|
/// Demonstrates drawing 3D triangles using the tri3d_t helper class.
|
||||||
/// Creates a series of triangles and renders them as both face (filled) and line (wireframe) drawings.
|
/// Creates a series of triangles and renders them as both face (filled) and line (wireframe) drawings.
|
||||||
/// Shows how to apply different colors to faces and lines of the same geometry.
|
/// Shows how to apply different colors to faces and lines of the same geometry.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DrawTri3d()
|
public static void DrawTri3d()
|
||||||
{
|
{
|
||||||
int n = 10;
|
int n = 10;
|
||||||
List<Tri3d> tris = new List<Tri3d>(n);
|
List<tri3d_t> tris = new List<tri3d_t>(n);
|
||||||
for (int i = 0; i < n; i++)
|
for (int i = 0; i < n; i++)
|
||||||
tris.Add(new Tri3d(new Vec3d(i, 0, 0), new Vec3d(i + 1, 0, 0), new Vec3d(i + 0.5, 0, 1)));
|
tris.Add(new tri3d_t(new vec3d_t(i, 0, 0), new vec3d_t(i + 1, 0, 0), new vec3d_t(i + 0.5, 0, 1)));
|
||||||
|
|
||||||
Drawing faceDraw = tris.GetFaceDrawing();
|
Drawing faceDraw = tris.GetFaceDrawing();
|
||||||
Drawing linesDraw = tris.ToLineDrawing();
|
Drawing linesDraw = tris.ToLineDrawing();
|
||||||
|
|||||||
+5
-5
@@ -20,15 +20,15 @@ namespace Sample.Disp
|
|||||||
public void Display(Bind bind)
|
public void Display(Bind bind)
|
||||||
{
|
{
|
||||||
bind.PickID = PickingID;
|
bind.PickID = PickingID;
|
||||||
bind.Rgb = new Vec3d(isMouseOver ? 0 : 1, 1, 1);
|
bind.Rgb = new vec3d_t(isMouseOver ? 0 : 1, 1, 1);
|
||||||
new Box3d(0, 0, 0, 1, 1, 1).DisplayFace(bind);
|
new box3d_t(0, 0, 0, 1, 1, 1).DisplayFace(bind);
|
||||||
bind.PickID = 0;
|
bind.PickID = 0;
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
dst.Expand(new Vec3d(0, 0, 0));
|
dst = dst.Expanded(new vec3d_t(0, 0, 0));
|
||||||
dst.Expand(new Vec3d(1, 1, 1));
|
dst = dst.Expanded(new vec3d_t(1, 1, 1));
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override void OnMouseEnter(ui_event_type e, DispEngine dispEngine)
|
public override void OnMouseEnter(ui_event_type e, DispEngine dispEngine)
|
||||||
|
|||||||
+6
-6
@@ -24,23 +24,23 @@ namespace Sample.Disp
|
|||||||
{
|
{
|
||||||
bind.PickID = pickableA.PickingID;
|
bind.PickID = pickableA.PickingID;
|
||||||
bind.Rgb = ColorUtil.GetDiscreteRgb(1);
|
bind.Rgb = ColorUtil.GetDiscreteRgb(1);
|
||||||
new Box3d(0, 0, 0, 1, 1, 1).DisplayFace(bind);
|
new box3d_t(0, 0, 0, 1, 1, 1).DisplayFace(bind);
|
||||||
|
|
||||||
bind.PickID = pickableB.PickingID;
|
bind.PickID = pickableB.PickingID;
|
||||||
bind.Rgb = ColorUtil.GetDiscreteRgb(2);
|
bind.Rgb = ColorUtil.GetDiscreteRgb(2);
|
||||||
new Box3d(0, 0, 1, 1, 1, 2).DisplayFace(bind);
|
new box3d_t(0, 0, 1, 1, 1, 2).DisplayFace(bind);
|
||||||
|
|
||||||
bind.PickID = pickableC.PickingID;
|
bind.PickID = pickableC.PickingID;
|
||||||
bind.Rgb = ColorUtil.GetDiscreteRgb(3);
|
bind.Rgb = ColorUtil.GetDiscreteRgb(3);
|
||||||
new Box3d(0, 0, 2, 1, 1, 3).DisplayFace(bind);
|
new box3d_t(0, 0, 2, 1, 1, 3).DisplayFace(bind);
|
||||||
|
|
||||||
bind.PickID = 0;
|
bind.PickID = 0;
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
dst.Expand(new Vec3d(0, 0, 0));
|
dst = dst.Expanded(new vec3d_t(0, 0, 0));
|
||||||
dst.Expand(new Vec3d(1, 1, 3));
|
dst = dst.Expanded(new vec3d_t(1, 1, 3));
|
||||||
}
|
}
|
||||||
#region IDisposable Support
|
#region IDisposable Support
|
||||||
private bool disposedValue = false; // To detect redundant calls
|
private bool disposedValue = false; // To detect redundant calls
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ public class DemoPickable : IDisplayee
|
|||||||
draw.Display(bind);
|
draw.Display(bind);
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
draw.ExpandToBox3d(dst);
|
draw.ExpandToBox3d(ref dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
+11
-11
@@ -6,7 +6,7 @@ namespace Sample.Disp
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Demonstrates a simple solar system animation using <see cref="IDisplayee"/> interface.
|
/// Demonstrates a simple solar system animation using <see cref="IDisplayee"/> interface.
|
||||||
/// Shows how to create a hierarchical transform structure with sun, earth and moon using
|
/// Shows how to create a hierarchical transform structure with sun, earth and moon using
|
||||||
/// <see cref="Mat4d"/> matrices and model matrix stack transformations.
|
/// <see cref="mat4d_t"/> matrices and model matrix stack transformations.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// ### Source Code
|
/// ### Source Code
|
||||||
@@ -21,30 +21,30 @@ namespace Sample.Disp
|
|||||||
double angle_moon;
|
double angle_moon;
|
||||||
DemoSatellite()
|
DemoSatellite()
|
||||||
{
|
{
|
||||||
sun = Box3d.CenterUnitBox.ScaleFromCenter(4).ToDraw_Face();
|
sun = box3d_t.CenterUnitBox.ScaledFromCenter(4).ToDraw_Face();
|
||||||
earth = Box3d.CenterUnitBox.ScaleFromCenter(2).ToDraw_Face();
|
earth = box3d_t.CenterUnitBox.ScaledFromCenter(2).ToDraw_Face();
|
||||||
moon = Box3d.CenterUnitBox.ToDraw_Face();
|
moon = box3d_t.CenterUnitBox.ToDraw_Face();
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void Display(Bind bind)
|
public void Display(Bind bind)
|
||||||
{
|
{
|
||||||
sun.Display(bind);
|
sun.Display(bind);
|
||||||
bind.ModelMatStack.Push();
|
bind.ModelMatStack.Push();
|
||||||
bind.ModelMatStack.Mul(new Mat4d(new AxisAngle4d(new Vec3d(0, 0, 1), angle_earth += 0.03)));
|
bind.ModelMatStack.Mul(new mat4d_t(new AxisAngle4d(new vec3d_t(0, 0, 1), angle_earth += 0.03)));
|
||||||
bind.ModelMatStack.Mul(new Mat4d(new Vec3d(12, 0, 0)));
|
bind.ModelMatStack.Mul(new mat4d_t(new vec3d_t(12, 0, 0)));
|
||||||
earth.Display(bind);
|
earth.Display(bind);
|
||||||
bind.ModelMatStack.Push();
|
bind.ModelMatStack.Push();
|
||||||
bind.ModelMatStack.Mul(new Mat4d(new AxisAngle4d(new Vec3d(0, 0, 1), angle_moon += 0.02)));
|
bind.ModelMatStack.Mul(new mat4d_t(new AxisAngle4d(new vec3d_t(0, 0, 1), angle_moon += 0.02)));
|
||||||
bind.ModelMatStack.Mul(new Mat4d(new Vec3d(4, 0, 0)));
|
bind.ModelMatStack.Mul(new mat4d_t(new vec3d_t(4, 0, 0)));
|
||||||
moon.Display(bind);
|
moon.Display(bind);
|
||||||
bind.ModelMatStack.Pop();
|
bind.ModelMatStack.Pop();
|
||||||
bind.ModelMatStack.Pop();
|
bind.ModelMatStack.Pop();
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
dst.Expand(new Vec3d(-14, -14, -2));
|
dst = dst.Expanded(new vec3d_t(-14, -14, -2));
|
||||||
dst.Expand(new Vec3d(14, 14, 2));
|
dst = dst.Expanded(new vec3d_t(14, 14, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Main()
|
static void Main()
|
||||||
|
|||||||
+2
-2
@@ -32,8 +32,8 @@ public static class DemoUtil
|
|||||||
LocalApp.AppBegin(loggerFactory.CreateLogger("Hi.Sample"));
|
LocalApp.AppBegin(loggerFactory.CreateLogger("Hi.Sample"));
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Box3d box = new Box3d();
|
box3d_t box = new box3d_t();
|
||||||
displayee.ExpandToBox3d(box);
|
displayee.ExpandToBox3d(ref box);
|
||||||
Console.WriteLine($"{title}: {displayee.GetType().Name} bounding {box}");
|
Console.WriteLine($"{title}: {displayee.GetType().Name} bounding {box}");
|
||||||
Console.WriteLine("Assign it to your canvas' DispEngine.Displayee to see it.");
|
Console.WriteLine("Assign it to your canvas' DispEngine.Displayee to see it.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,10 +62,10 @@ namespace Sample.Disp
|
|||||||
////Console.WriteLine($"B: {CoordinateIndex}; {coordinateMove}");
|
////Console.WriteLine($"B: {CoordinateIndex}; {coordinateMove}");
|
||||||
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
||||||
if (equipment == null
|
if (equipment == null
|
||||||
|| !equipment.TryGetMachinePositionAtTableMountZero(out Vec3d mcXyz_AttacherAtTableMountZero))
|
|| !equipment.TryGetMachinePositionAtTableMountZero(out vec3d_t mcXyz_AttacherAtTableMountZero))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Vec3d coordinateMove;
|
vec3d_t coordinateMove;
|
||||||
string text;
|
string text;
|
||||||
if (HeidenhainCycleDef247Q339 == 0 && HeidenhainCycleDef7Arg == null)
|
if (HeidenhainCycleDef247Q339 == 0 && HeidenhainCycleDef7Arg == null)
|
||||||
return;
|
return;
|
||||||
@@ -90,7 +90,7 @@ namespace Sample.Disp
|
|||||||
bind.ModelMatStack.Pop();
|
bind.ModelMatStack.Pop();
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
HardNcEnv ncEnv = NcEnv;
|
HardNcEnv ncEnv = NcEnv;
|
||||||
if (ncEnv == null || NcEnv.CncBrand != CncBrand.Heidenhain)
|
if (ncEnv == null || NcEnv.CncBrand != CncBrand.Heidenhain)
|
||||||
@@ -98,16 +98,16 @@ namespace Sample.Disp
|
|||||||
|
|
||||||
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
||||||
if (equipment == null
|
if (equipment == null
|
||||||
|| !equipment.TryGetMachinePositionAtTableMountZero(out Vec3d mcXyz_AttacherAtTableMountZero))
|
|| !equipment.TryGetMachinePositionAtTableMountZero(out vec3d_t mcXyz_AttacherAtTableMountZero))
|
||||||
return;
|
return;
|
||||||
Vec3d coordinateMove;
|
vec3d_t coordinateMove;
|
||||||
if (HeidenhainCycleDef247Q339 == 0 && HeidenhainCycleDef7Arg == null)
|
if (HeidenhainCycleDef247Q339 == 0 && HeidenhainCycleDef7Arg == null)
|
||||||
return;
|
return;
|
||||||
coordinateMove = NcFlagUtil.GetHeidenhainCoordinateOffset(
|
coordinateMove = NcFlagUtil.GetHeidenhainCoordinateOffset(
|
||||||
HeidenhainCycleDef247Q339, HeidenhainCycleDef7Arg, ncEnv);
|
HeidenhainCycleDef247Q339, HeidenhainCycleDef7Arg, ncEnv);
|
||||||
|
|
||||||
|
|
||||||
dst.Expand(-mcXyz_AttacherAtTableMountZero + coordinateMove);
|
dst = dst.Expanded(-mcXyz_AttacherAtTableMountZero + coordinateMove);
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public Anchor GetAnchor()
|
public Anchor GetAnchor()
|
||||||
|
|||||||
@@ -45,12 +45,12 @@ public class IsoCoordinateEntryDisplayee : IAnchoredDisplayee
|
|||||||
if (ncEnv == null)
|
if (ncEnv == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (ncEnv.IsoCoordinateTable?.TryGetValue(IsoCoordinateId, out Vec3d coordinateMove) != true)
|
if (ncEnv.IsoCoordinateTable?.TryGetValue(IsoCoordinateId, out vec3d_t coordinateMove) != true)
|
||||||
return;
|
return;
|
||||||
string text = IsoCoordinateId ?? "";
|
string text = IsoCoordinateId ?? "";
|
||||||
|
|
||||||
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
||||||
if (equipment == null || !equipment.TryGetIsoCoordinatePosition(coordinateMove, out Vec3d attacherPos))
|
if (equipment == null || !equipment.TryGetIsoCoordinatePosition(coordinateMove, out vec3d_t attacherPos))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bind.ModelMatStack.Push();
|
bind.ModelMatStack.Push();
|
||||||
@@ -59,18 +59,18 @@ public class IsoCoordinateEntryDisplayee : IAnchoredDisplayee
|
|||||||
bind.ModelMatStack.Pop();
|
bind.ModelMatStack.Pop();
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
HardNcEnv ncEnv = NcEnv;
|
HardNcEnv ncEnv = NcEnv;
|
||||||
if (ncEnv == null)
|
if (ncEnv == null)
|
||||||
return;
|
return;
|
||||||
if (ncEnv.IsoCoordinateTable?.TryGetValue(IsoCoordinateId, out Vec3d coordinateMove) != true)
|
if (ncEnv.IsoCoordinateTable?.TryGetValue(IsoCoordinateId, out vec3d_t coordinateMove) != true)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
IMachiningEquipment equipment = MillingEquipmentFunc?.Invoke();
|
||||||
if (equipment == null || !equipment.TryGetIsoCoordinatePosition(coordinateMove, out Vec3d attacherPos))
|
if (equipment == null || !equipment.TryGetIsoCoordinatePosition(coordinateMove, out vec3d_t attacherPos))
|
||||||
return;
|
return;
|
||||||
dst.Expand(attacherPos);
|
dst = dst.Expanded(attacherPos);
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
/// <returns>Table Mount if existed; otherwise, return null.</returns>
|
/// <returns>Table Mount if existed; otherwise, return null.</returns>
|
||||||
|
|||||||
@@ -239,10 +239,10 @@ public class MachiningProjectDisplayee : IDisplayee, IGetAnchor
|
|||||||
bind.PopColor();
|
bind.PopColor();
|
||||||
}
|
}
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ExpandToBox3d(Box3d dst)
|
public void ExpandToBox3d(ref box3d_t dst)
|
||||||
{
|
{
|
||||||
//Console.WriteLine($"dst.A: {dst}");
|
//Console.WriteLine($"dst.A: {dst}");
|
||||||
LocalProjectService?.MachiningEquipment?.GetAsmb()?.ExpandToBox3d(dst,
|
LocalProjectService?.MachiningEquipment?.GetAsmb()?.ExpandToBox3d(ref dst,
|
||||||
GetAnchor(),
|
GetAnchor(),
|
||||||
GetAnchoredDisplayeeList().ToArray());
|
GetAnchoredDisplayeeList().ToArray());
|
||||||
//Console.WriteLine($"dst.B: {dst}");
|
//Console.WriteLine($"dst.B: {dst}");
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ public static class DemoBuildGeom
|
|||||||
TransformationGeom transformationGeom = new TransformationGeom()
|
TransformationGeom transformationGeom = new TransformationGeom()
|
||||||
{
|
{
|
||||||
Transformer = new GeneralTransform(1,
|
Transformer = new GeneralTransform(1,
|
||||||
new StaticRotation(new Vec3d(0, 0, 1), MathUtil.ToRad(15), new Vec3d(0, 0, 0)),
|
new StaticRotation(new vec3d_t(0, 0, 1), MathUtil.ToRad(15), new vec3d_t(0, 0, 0)),
|
||||||
new StaticTranslation(new Vec3d(0, 0, 0))),
|
new StaticTranslation(new vec3d_t(0, 0, 0))),
|
||||||
Geom = stl
|
Geom = stl
|
||||||
};
|
};
|
||||||
GeomCombination geomCombination = new GeomCombination(stlFile, transformationGeom);
|
GeomCombination geomCombination = new GeomCombination(stlFile, transformationGeom);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace Sample.Geom;
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
/// Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
||||||
/// Shows the use of Box3d to encompass multiple geometric elements with a single boundary.
|
/// Shows the use of box3d_t to encompass multiple geometric elements with a single boundary.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// ### Source Code
|
/// ### Source Code
|
||||||
@@ -16,11 +16,11 @@ public static class DemoIExpandToBox3d
|
|||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
#region DocSite.CountBoundingBox
|
#region DocSite.CountBoundingBox
|
||||||
Box3d objA = new Box3d(0, 0, 0, 1, 1, 1);
|
box3d_t objA = new box3d_t(0, 0, 0, 1, 1, 1);
|
||||||
Box3d objB = new Box3d(-1, -2, -3, 3, 2, 1);
|
box3d_t objB = new box3d_t(-1, -2, -3, 3, 2, 1);
|
||||||
Vec3d objC = new Vec3d(-2, 3, -5);
|
vec3d_t objC = new vec3d_t(-2, 3, -5);
|
||||||
|
|
||||||
Box3d boundingbox = new Box3d(objA, objB, objC);
|
box3d_t boundingbox = new box3d_t(objA, objB, objC);
|
||||||
Console.WriteLine("boundingbox: " + boundingbox);
|
Console.WriteLine("boundingbox: " + boundingbox);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,8 +42,11 @@ namespace Sample.MachineTool
|
|||||||
GeneralXyzabcMachineTool dst = GeneralXyzabcMachineTool.CreateFromChainCode(
|
GeneralXyzabcMachineTool dst = GeneralXyzabcMachineTool.CreateFromChainCode(
|
||||||
"[O][Y][X][C][w];[O][Z][B][S][t]");
|
"[O][Y][X][C][w];[O][Z][B][S][t]");
|
||||||
if (dst.ToolMountTransformer is StaticTranslation st)
|
if (dst.ToolMountTransformer is StaticTranslation st)
|
||||||
st.Trans = new Vec3d(-72.40, 72.40, 176.44);
|
st.Trans = new vec3d_t(-72.40, 72.40, 176.44);
|
||||||
dst.TransformerB.Pivot = new Vec3d(-72.4, -177.4, 225.94);
|
//the spindle turns the tool about its own axis: the rotation's pivot
|
||||||
|
//sits on the tool mount's origin, where the offset above moved it.
|
||||||
|
dst.SpindleTransformer.Pivot = new vec3d_t(-72.40, 72.40, 176.44);
|
||||||
|
dst.TransformerB.Pivot = new vec3d_t(-72.4, -177.4, 225.94);
|
||||||
Dictionary<string, Solid> solidMap = new Dictionary<string, Solid>()
|
Dictionary<string, Solid> solidMap = new Dictionary<string, Solid>()
|
||||||
{
|
{
|
||||||
["O"] = new Solid(new Stl("MachineTool/base.stl")),
|
["O"] = new Solid(new Stl("MachineTool/base.stl")),
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public static class DemoBuildMachineToolWithoutGeometrys
|
|||||||
GeneralXyzabcMachineTool xyzabcMachineTool = GeneralXyzabcMachineTool.CreateFromChainCode(
|
GeneralXyzabcMachineTool xyzabcMachineTool = GeneralXyzabcMachineTool.CreateFromChainCode(
|
||||||
"[O][C][w];[O][X][Y][Z][B][S][t]");
|
"[O][C][w];[O][X][Y][Z][B][S][t]");
|
||||||
if (xyzabcMachineTool.ToolMountTransformer is StaticTranslation st)
|
if (xyzabcMachineTool.ToolMountTransformer is StaticTranslation st)
|
||||||
st.Trans = new Vec3d(-200, 200, 400);
|
st.Trans = new vec3d_t(-200, 200, 400);
|
||||||
return xyzabcMachineTool;
|
return xyzabcMachineTool;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,9 +74,9 @@ public static class DemoBuildGeomOnlyMachiningProject
|
|||||||
//geometry anchor to each mount, so the workpiece mount is placed by the
|
//geometry anchor to each mount, so the workpiece mount is placed by the
|
||||||
//transformer of the branch to it: on top of the 10 mm thick fixture geom.
|
//transformer of the branch to it: on top of the 10 mm thick fixture geom.
|
||||||
Fixture fixture = Fixture.CreateDefault();
|
Fixture fixture = Fixture.CreateDefault();
|
||||||
fixture.Geom = new Box3d(new Vec3d(-40, -40, 0), new Vec3d(40, 40, 10));
|
fixture.Geom = new Box3d(new vec3d_t(-40, -40, 0), new vec3d_t(40, 40, 10));
|
||||||
Branch.Get(fixture.GeomAnchor, fixture.WorkpieceMount).Transformer
|
Branch.Get(fixture.GeomAnchor, fixture.WorkpieceMount).Transformer
|
||||||
= new StaticTranslation(new Vec3d(0, 0, 10));
|
= new StaticTranslation(new vec3d_t(0, 0, 10));
|
||||||
localProjectService.Fixture = fixture;
|
localProjectService.Fixture = fixture;
|
||||||
|
|
||||||
//The default shape already leads from the geometry anchor to the fixture
|
//The default shape already leads from the geometry anchor to the fixture
|
||||||
|
|||||||
@@ -187,9 +187,9 @@ public static class DemoBuildMachiningProject
|
|||||||
//geometry anchor to each mount, so the workpiece mount is placed by the
|
//geometry anchor to each mount, so the workpiece mount is placed by the
|
||||||
//transformer of the branch to it: on top of the 10 mm thick fixture geom.
|
//transformer of the branch to it: on top of the 10 mm thick fixture geom.
|
||||||
Fixture fixture = Fixture.CreateDefault();
|
Fixture fixture = Fixture.CreateDefault();
|
||||||
fixture.Geom = new Box3d(new Vec3d(-40, -40, 0), new Vec3d(40, 40, 10));
|
fixture.Geom = new Box3d(new vec3d_t(-40, -40, 0), new vec3d_t(40, 40, 10));
|
||||||
Branch.Get(fixture.GeomAnchor, fixture.WorkpieceMount).Transformer
|
Branch.Get(fixture.GeomAnchor, fixture.WorkpieceMount).Transformer
|
||||||
= new StaticTranslation(new Vec3d(0, 0, 10));
|
= new StaticTranslation(new vec3d_t(0, 0, 10));
|
||||||
localProjectService.Fixture = fixture;
|
localProjectService.Fixture = fixture;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -33,10 +33,10 @@ public static class DemoTopo1
|
|||||||
Anchor B = new Anchor(asmb, "B");
|
Anchor B = new Anchor(asmb, "B");
|
||||||
|
|
||||||
//build kinematic link
|
//build kinematic link
|
||||||
Branch.Attach(O, O1, new StaticTranslation(new Vec3d(0, 0, 80)));
|
Branch.Attach(O, O1, new StaticTranslation(new vec3d_t(0, 0, 80)));
|
||||||
Branch brnX = Branch.Attach(O1, X, new DynamicTranslation(new Vec3d(1, 0, 0)));
|
Branch brnX = Branch.Attach(O1, X, new DynamicTranslation(new vec3d_t(1, 0, 0)));
|
||||||
Branch brnZ = Branch.Attach(X, Z, new DynamicTranslation(new Vec3d(0, 0, 1)));
|
Branch brnZ = Branch.Attach(X, Z, new DynamicTranslation(new vec3d_t(0, 0, 1)));
|
||||||
Branch brnB = Branch.Attach(Z, B, new DynamicRotation(new Vec3d(0, 1, 0), 0, new Vec3d(-100, 0, 0)));
|
Branch brnB = Branch.Attach(Z, B, new DynamicRotation(new vec3d_t(0, 1, 0), 0, new vec3d_t(-100, 0, 0)));
|
||||||
|
|
||||||
//drive the dynamic transformation by single value for each branch.
|
//drive the dynamic transformation by single value for each branch.
|
||||||
brnX.Step = 200;
|
brnX.Step = 200;
|
||||||
@@ -44,9 +44,9 @@ public static class DemoTopo1
|
|||||||
brnB.Step = MathUtil.ToRad(-60);
|
brnB.Step = MathUtil.ToRad(-60);
|
||||||
|
|
||||||
//Get and show the transform matrices relative to O.
|
//Get and show the transform matrices relative to O.
|
||||||
Dictionary<Anchor, Mat4d> matMap = asmb.GetMat4dMap(O);
|
Dictionary<Anchor, mat4d_t> matMap = asmb.GetMat4dMap(O);
|
||||||
Console.WriteLine("Transform Matrix relative to O:");
|
Console.WriteLine("Transform Matrix relative to O:");
|
||||||
foreach (KeyValuePair<Anchor, Mat4d> keyValue in matMap)
|
foreach (KeyValuePair<Anchor, mat4d_t> keyValue in matMap)
|
||||||
Console.WriteLine($"{keyValue.Key.Name} : {keyValue.Value}");
|
Console.WriteLine($"{keyValue.Key.Name} : {keyValue.Value}");
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user