# Referencing custom Cplane

**URL:** <https://discourse.mcneel.com/t/referencing-custom-cplane/66673>\
**Category:** Grasshopper\
**Created:** [July 10, 2018, 11:09am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673 "2018-07-10T11:09:54Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [July 10, 2018, 11:09am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/1 "2018-07-10T11:09:54Z")

</div>

Hi, is there a way to reference a custom Cplane from within GH?  
e.g get the cplane’s z vector

---

<div class="post-metadata">

**Author:** ![RIL](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/ril/32/768639_2.png) [@RIL](https://discourse.mcneel.com/u/RIL)\
**Post date:** [July 10, 2018, 11:19am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/2 "2018-07-10T11:19:00Z")

</div>

If you define a Plane you also have access to its properties Plane.Origin and Plane.Normal ( = “Z”) etc.

// Rolf

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [July 10, 2018, 11:19am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/3 "2018-07-10T11:19:52Z")

</div>

yes, I am talking about Cplanes defined in Rhino  
(I have an old file with many custom Cplanes from within Rhino and I don’t want to go through the proccess of redefining them one by one in GH)

---

<div class="post-metadata">

**Author:** ![DavidRutten](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/davidrutten/32/755688_2.png) [@DavidRutten](https://discourse.mcneel.com/u/DavidRutten)\
**Post date:** [July 10, 2018, 11:38am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/4 "2018-07-10T11:38:51Z")

</div>

No there’s no concept of C-Planes or M-Planes in Grasshopper. It’s probably possible to harvest them via some script though.

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [July 10, 2018, 11:40am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/5 "2018-07-10T11:40:18Z")

</div>

ok thanks!  
It’s no big deal, it’s an old model from the pre-GH days. Not worth the while… I’ll just do them manually!

---

<div class="post-metadata">

**Author:** ![DavidRutten](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/davidrutten/32/755688_2.png) [@DavidRutten](https://discourse.mcneel.com/u/DavidRutten)\
**Post date:** [July 10, 2018, 11:47am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/6 "2018-07-10T11:47:31Z")

</div>

[cplane harvester.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/a/a/aa188a58e6d6331d9e2363bfd4d31e54568d9778.gh) (9.1 KB)

[cplanes.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/5/b/5b95c54fe703f3276aef103b385cfb73c6abfead.3dm) (33.1 KB)

 ![cplanes](https://global.discourse-cdn.com/mcneel/original/3X/5/1/515f71b2b85d000f762bd51173addba740059b9f.png)

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [July 10, 2018, 1:18pm UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/7 "2018-07-10T13:18:45Z")

</div>

Actually, I made it so that you can reference CPlanes from the Rhino doc in GH.

Use the Guid parameter input, then select the Clipping plane as your input. Now you can feed this in the Plane parameter.

Refer to [Problem with determining point based on surface UV](https://discourse.mcneel.com/t/problem-with-determining-point-based-on-surface-uv/61473)

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [July 10, 2018, 1:30pm UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/8 "2018-07-10T13:30:13Z")

</div>

![image](https://global.discourse-cdn.com/mcneel/original/3X/1/f/1ffbcc9e1df8a8f9c248e3836f963c365260527b.png)

---

<div class="post-metadata">

**Author:** ![3dsynergy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/3dsynergy/32/770156_2.png) [@3dsynergy](https://discourse.mcneel.com/u/3dsynergy)\
**Post date:** [July 11, 2018, 4:16am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/9 "2018-07-11T04:16:17Z")

</div>

Hi Nathan,  
@nathanletwory  
Last night I was thinking of creating a transform space plugin but how to use Mplanes in Gh?  
In your example it doesn’t set the cplane or return it but no matter because what you did got me heading in the right way if one first attaches an Mobile plane (Mplane) to the clipping box then uses your method then one can both constantly know where the cplane is and use it to create geometry inside surfaces models etc much like the way section tools works I think using this with make 2d could lead to something.

Also I haven’t checked Davids gh file seems he found a way to list the cplanes which I need to interact with explained below.

However what I would need is a list of cplanes and mplanes that I could propagate items to. I would like to use the Rectangle mapping component to create a transform space that would propagate the model rectangle to any of the chosen cplanes and or mplanes. I think it’s doable in GH but I need to get a list of cplanes and work with that list.

I’m currently doing this in Rhino working on a movie set which is like Fred Astaire dancing on the ceiling so I need to transform the room plans to the walls and ceiling etc. I currently set mplanes and use remap cplane but I would like to do it all at once from a list of cplanes in Gh. Also I need to add items with texture maps and I don’t know how to do that in GH as well. I really hope David will add array objects with textures and getting this kind of info like he just listed.

One little display bug, in ghosted mode the fill is shown as solid when using the clipping plane and I think the fill should be ghosted too?

Thanks for your hints,  
RM

---

<div class="post-metadata">

**Author:** ![3dsynergy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/3dsynergy/32/770156_2.png) [@3dsynergy](https://discourse.mcneel.com/u/3dsynergy)\
**Post date:** [July 11, 2018, 4:18am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/10 "2018-07-11T04:18:01Z")

</div>

Thanks David checking on this now to see if I can use it in a transform space definition or plugin.  
See post to Nathan  
RM

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [July 11, 2018, 5:34am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/11 "2018-07-11T05:34:21Z")

</div>

My bad. I read clipping planes when I saw cplanes.

---

<div class="post-metadata">

**Author:** ![ivan\_tejada](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/ivan_tejada/32/623737_2.png) [@ivan\_tejada](https://discourse.mcneel.com/u/ivan_tejada)\
**Post date:** [April 1, 2019, 12:35am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/12 "2019-04-01T00:35:43Z")

</div>

Hi David,

Thanks for your script.

This is great and I see a lot of potential for Architects on managing CPlanes from Grasshopper.

I use CPlanes at different levels and alignments on my building but this is so hard to manage when a change in the design implies changing the elevation of all the cplanes and or their orientation.

Do you know of any script out there capable of creating / deleting / modifying CPlanes on Rhino. Couldn’t find anything I don’t know much about writing code…

Thanks!

Ivan

---

<div class="post-metadata">

**Author:** ![ivan\_tejada](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/ivan_tejada/32/623737_2.png) [@ivan\_tejada](https://discourse.mcneel.com/u/ivan_tejada)\
**Post date:** [April 1, 2019, 5:30am UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/13 "2019-04-01T05:30:35Z")

</div>

Quite solved here:

> [@Bake Planes to Named Cplane](https://discourse.mcneel.com/t/bake-planes-to-named-cplane/78469/6):
>
> Awesome Barris! It works perfectly and will be very useful. This is a draft of what I want to use this for: [Create and Name CPlanes at Different Elevations.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/a/8/a8352084dd8f94bd8ca4e3c4c37cdcd22a405fd8.3dm) (36.0 KB) [Create and Name CPlanes at Different Elevations.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/f/3/f30be1f613e59e83c268e89c9d05ecd8be1e0834.gh) (25.1 KB) It would be great if CPlanes had a unique ID to manage changes easier. The only way to overwrite them now is using the same name. Thanks a lot Ivan

---

<div class="post-metadata">

**Author:** ![AmicoCAD](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/amicocad/32/479712_2.png) [@AmicoCAD](https://discourse.mcneel.com/u/AmicoCAD)\
**Post date:** [March 13, 2020, 10:49pm UTC](https://discourse.mcneel.com/t/referencing-custom-cplane/66673/14 "2020-03-13T22:49:18Z")

</div>

Sorry if I resume the discussion, but I hope that things will be simpler after some time.  
Do you know how I can draw a sketch on a list of frames?

 ![2020-03-13_20-05-06](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/5/b/5b0173793fc05136bd3b3cb39ba9322938ab7232.png)

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

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/5/1/51f42b32c640d1f81aec340f38263c86a1621666.jpeg)

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/1/6/16c2e18aa0ec06a2601f5f4035fbe00feb2bd2bb.png)
