# Flat or what?

**URL:** <https://discourse.mcneel.com/t/flat-or-what/199805>\
**Category:** Grasshopper\
**Tags:** windows\
**Created:** [February 18, 2025, 8:54am UTC](https://discourse.mcneel.com/t/flat-or-what/199805 "2025-02-18T08:54:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![osuire](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/osuire/32/656689_2.png) [@osuire](https://discourse.mcneel.com/u/osuire)\
**Post date:** [February 18, 2025, 8:54am UTC](https://discourse.mcneel.com/t/flat-or-what/199805/1 "2025-02-18T08:54:13Z")

</div>

I thought I could rely on the “Is Planar” component to parse the flat and non-flat surfaces ; it turns out to be un-reliable.  
My Rhino tolerance is 0.01 in mm. If I extract the borders of that surface and try to make a “PlanarSrf”, Rhino justly refuses, as there is a 0.074mm height offset on one corner.  
Yet, Grasshopper’s “Is planar” component considers it planar.

 ![250218_IMG_Flat or what](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/4/d/7/4d738c628f956116c3e5395f645752679725b375.jpeg)  
[250218\_PROG\_Flat or what.gh](https://discourse.mcneel.com/uploads/short-url/uJkn29CQCcLpUYjJygMSi3jvxxW.gh) (8.3 KB)

---

<div class="post-metadata">

**Author:** ![osuire](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/osuire/32/656689_2.png) [@osuire](https://discourse.mcneel.com/u/osuire)\
**Post date:** [February 18, 2025, 8:59am UTC](https://discourse.mcneel.com/t/flat-or-what/199805/2 "2025-02-18T08:59:30Z")

</div>

At least, the “Boundary surfaces” component detects the non-planarity.

 ![250218_IMG_Boundary surfaces to the rescue](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/9/b/0/9b0c7e76ba6cbc1a20f17c3c095be1516dda03dc.jpeg)

---

<div class="post-metadata">

**Author:** ![jessesn](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jessesn/32/763881_2.png) [@jessesn](https://discourse.mcneel.com/u/jessesn)\
**Post date:** [February 18, 2025, 9:33am UTC](https://discourse.mcneel.com/t/flat-or-what/199805/3 "2025-02-18T09:33:47Z")

</div>

> [@osuire](#):
>
> At least, the “Boundary surfaces” component detects the non-planarity.

Thanks for your report and I have [logged it,](https://mcneel.myjetbrains.com/youtrack/issue/RH-86091/IsPlanar-Cant-get-the-same-results-as-Rhino)

 ![isPlanar](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/c/7/8/c78b38d1151fdd2079f8a6f1d30b53f0ead83fd4.jpeg)

---

<div class="post-metadata">

**Author:** ![Tom\_P](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/tom_p/32/766520_2.png) [@Tom\_P](https://discourse.mcneel.com/u/Tom_P)\
**Post date:** [February 18, 2025, 11:33am UTC](https://discourse.mcneel.com/t/flat-or-what/199805/4 "2025-02-18T11:33:31Z")

</div>

would be nice, if the IsPlanar Component has a tolerance input - at least as (+) extension.  
And the default Tolerance should be documented.

Meanwhile I see 2 workarounds:

- use a scripting component
- use plane / boundingbox / z-Dimenstion and compare against a tolerance value
