# Sweep1 wrong results

**URL:** <https://discourse.mcneel.com/t/sweep1-wrong-results/143658>\
**Category:** Rhino\
**Tags:** windows, sweep1\
**Created:** [June 8, 2022, 6:36am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658 "2022-06-08T06:36:43Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 6:36am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/1 "2022-06-08T06:36:43Z")

</div>

See this:

[https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/d/c/a/dca7a84ea4ecb83571331cc946bb8e4ef0acc064.mp4](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/d/c/a/dca7a84ea4ecb83571331cc946bb8e4ef0acc064.mp4)
  
The result is wrong and produces defective surfaces.  
The defective surfaces are valid for Rhino - they are not.

[Small.3dm](https://discourse.mcneel.com/uploads/short-url/a568ayQ8ONA0Q8pVMqdr0fo7bip.3dm) (23.5 KB)

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 6:49am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/2 "2022-06-08T06:49:46Z")

</div>

Any reason you don’t join the two curves before sweeping?

By using the option “Untrimmed miters” I get a valid result.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/c/3/e/c3efd6cbadece2e1e8da380f09354afb924c3219.png)

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 7:12am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/3 "2022-06-08T07:12:53Z")

</div>

Thanks Martin, I know several solutions.  
I wanted to point out that Sweep1 produces bad objects that are considered valid.

The reason why the curves are not joined is because of an other try.  
I know, that’s lazy, but the real geometry has far more corner situations.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/7/b/1/7b15fdb937402daa616f158009deb2ff903da87a.png)  
The result is unusable.

BTW, the final result shall be this:

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/8/b/f/8bf4b2caaf960f6ed68b16b784a3b242b5d3d38a.png)

If you know a method without fiddling with \_SweepX and \_Revolve, tell me 🙂

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 7:16am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/4 "2022-06-08T07:16:14Z")

</div>

Will you CNC engrave or what are the requirements?

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 7:18am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/5 "2022-06-08T07:18:57Z")

</div>

The task is to model what IS already engraved.

In fact the modeling becomes harder as the engravings are on curved surfaces.  
This happens in 3 axes only, the Z axis is fixed.  
Projecting the flat geometry to the curved surfaces is not really correct.  
Still thinking about it.

---

<div class="post-metadata">

**Author:** ![wim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/wim/32/747482_2.png) [@wim](https://discourse.mcneel.com/u/wim)\
**Post date:** [June 8, 2022, 7:26am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/6 "2022-06-08T07:26:29Z")

</div>

Hi Charles -

> [@Charles](#):
>
> I wanted to point out that Sweep1 produces bad objects that are considered valid.

In Rhino 8, the BadObject warning pops up when creating that surface.  
Apart from that, I’ll get the example on the list to see if anything can be done to not produce a bad object. → [RH-68941](https://mcneel.myjetbrains.com/youtrack/issue/RH-68941)  
Thanks,  
-wim

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 7:28am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/7 "2022-06-08T07:28:11Z")

</div>

I tried using @pascal ProjectObjects.  
Not the correct result.  
But that’s another story…

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/2/b/5/2b539c21ef29cea0ab7ae7d903d7a86319f1ab2f.png)

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 7:29am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/8 "2022-06-08T07:29:12Z")

</div>

Thanks @wim  
That was exactly my point.

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 7:50am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/9 "2022-06-08T07:50:43Z")

</div>

> [@wim](#):
>
> In Rhino 8, the BadObject warning pops up when creating that surface.

Not in here.  
(8.0.22152.4305, 2022-06-01)

---

<div class="post-metadata">

**Author:** ![wim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/wim/32/747482_2.png) [@wim](https://discourse.mcneel.com/u/wim)\
**Post date:** [June 8, 2022, 8:03am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/10 "2022-06-08T08:03:26Z")

</div>

> [@Charles](#):
>
> Not in here.

Thanks. I’ve added some notes to the YT item.  
-wim

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 8:18am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/11 "2022-06-08T08:18:53Z")

</div>

I would probably explode the polylines into segments and then create individual parts you can subtract from the stock material. You need two different cutters due to self intersection proiblems when subtracting geometry later on.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/9/3/0/930f2553d9f84cba36651b9c44eb14afc4971db7.png)

It seems the cutters you were using on the curved surface do not stick out of the surface. Intersections are better if the cutter does not have vertices exactly on the surface.

Actually an extruded, straight cutter and a revolved corner cutter would solve the problem.

The straight cutter can be oriented and 1D scaled to the curve segments.

If the corner cutter is aligned with the seam facing inwards at the end of the polyline, the ends look nice. That and the seam of the corner cutter aligned with the miter on corners should get you minimal surface count.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/8/a/b/8abced52ee7dc144638286967ce5a885202f4638.png)

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 8:45am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/12 "2022-06-08T08:45:53Z")

</div>

Good Martin!  
It’s easy with straight segments…  
For curves segments it’s different.  
And that on curves surfaces.  
Still thinking.

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 8:57am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/13 "2022-06-08T08:57:11Z")

</div>

Post an example file with a curved surface.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/9/3/9/93972112e49bdfc63da049876b8f1c5eb9ccdb6f.png)

Are you using Grasshopper?

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 10:22am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/14 "2022-06-08T10:22:03Z")

</div>

[Small.3dm](https://discourse.mcneel.com/uploads/short-url/kXRY3ayBmL8vCpWk3J3fZMmY3fz.3dm) (117.9 KB)  
Unhide the curved surface.

The cutter outline was extended a bit.  
The center line was projected to a parallel surface.  
This is where the cutter tip moves along.  
Just to illustrate I made the correct shape along the longer curve.  
Now the trouble starts.  
How to make the geometry on the shorter curve correct?  
Yes, a bit fiddling to align the cutter outline would work somehow.  
I’m looking for a simpler solution.  
Think of not one corner only but dozens.

What you showed in your last picture is not the correct solution.  
The cutter would have to tilt into normal direction.  
The cutter doesn’t do that as it’s fixed in Z axis direction.  
See here, red = wrong, green = ok.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/6/5/b/65b0176c4bc0487ca00cee6072fff6f8fefa5908.png)

Up to now I don’t use Grasshopper for this task.  
First I need to now how to make it step by step.

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 10:39am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/15 "2022-06-08T10:39:36Z")

</div>

Is the CNC cutting done with a 3-axis or 5-axis machine?

If 5-axis, then we need to create normals on the surface.

If 3-axis, the depth is challenging

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 10:43am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/16 "2022-06-08T10:43:51Z")

</div>

> [@martinsiegrist](#):
>
> If 3-axis, the depth is challenging

As said 3 axis.  
The tool doesn’t tilt.  
Yes, challenging…

Here’s a kind of correct solution.  
See the TestTool layer.

[Small\_Ready.3dm](https://discourse.mcneel.com/uploads/short-url/gNm4hoWC99GsRh0Yyekx2qy87SN.3dm) (1.7 MB)

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 11:26am UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/17 "2022-06-08T11:26:56Z")

</div>

I did similar 3-axis cnc simulation for slightly more complex freeform surfaces a few years ago.

In my case, the tool had to meet a boundary condition and due to the non spherical shape I had to correct the height for each position.

 ![14_12_28_jet_jc-1_04](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/b/2/8/b2809668f2f304add2eb4f584d687e8aa2608695.png)

 ![14_12_31_jet_jc-1_01](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/5/5/b/55b67755f1705e59938bca0bb6a988a1d58b835d.png)

I used a loop in Grasshopper (Anemone) to subtract the millbits. The endresult was an optimized toolpath.

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [June 8, 2022, 12:06pm UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/18 "2022-06-08T12:06:44Z")

</div>

I rebuilt the section of the cutter to avoid problems with the boolean difference.

No height correction yet.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/3/d/d/3dd99e1d3e8b62770ba092739d9ea670bec795a4.jpeg)

[Small\_Ready.3dm](https://discourse.mcneel.com/uploads/short-url/iqWZiYW3NQwmfWs4RvykFP2NhoZ.3dm) (162.1 KB)

[mrtn\_cnc\_3-axis.gh](https://discourse.mcneel.com/uploads/short-url/g8HAgfQEq2gZR2TDn6qEh2eSXQv.gh) (20.4 KB)

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [June 8, 2022, 1:58pm UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/19 "2022-06-08T13:58:15Z")

</div>

> [@Charles](#):
>
> I tried using @pascal ProjectObjects.

Hi Charles - there is not enough to go on in the file above - feel free to send me the inputs to ProjectObjects…

-Pascal

---

<div class="post-metadata">

**Author:** ![Charles](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/charles/32/747625_2.png) [@Charles](https://discourse.mcneel.com/u/Charles)\
**Post date:** [June 8, 2022, 2:31pm UTC](https://discourse.mcneel.com/t/sweep1-wrong-results/143658/20 "2022-06-08T14:31:40Z")

</div>

Hi @pascal

ProjectObjects works ok.  
In order to be able to trim the surface, I only have to set a high XY count.

It’s just not the correct tool for the desired result.

Anyway, here’s the file:  
[Small\_ProjectObjects.3dm](https://discourse.mcneel.com/uploads/short-url/bRAcPaDBaQaAB6J20nMlkUX1eut.3dm) (242.4 KB)

[Next page](https://discourse.mcneel.com/t/sweep1-wrong-results/143658.md?page=2)
