# Node package in c#, help

**URL:** <https://forum.dynamobim.com/t/node-package-in-c-help/86184>\
**Category:** Developers\
**Tags:** revit, python, dynamo\
**Created:** [February 15, 2023, 12:47pm UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184 "2023-02-15T12:47:38Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![AM3D.BIM.STUDIO](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/am3d.bim.studio/32/127441_2.png) [@AM3D.BIM.STUDIO](https://forum.dynamobim.com/u/AM3D.BIM.STUDIO)\
**Post date:** [February 15, 2023, 12:47pm UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/1 "2023-02-15T12:47:38Z")

</div>

Good morning.  
I’m learning a bit of C#.  
I have created a basic node package, but I want to make some changes to the presentation of my package.  
1° First I would like to be able to put a personalized logo on it.  
how to place a logo?  
2° I would like to rename the second name that is repeated.  
Thanks for your support.

 ![NODOS EN C#](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/c/a/ca2aa4968fed3ee815b1e3e41460c7744e20be13.png)

---

<div class="post-metadata">

**Author:** ![chuongmep](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/chuongmep/32/197537_2.png) [@chuongmep](https://forum.dynamobim.com/u/chuongmep)\
**Post date:** [February 15, 2023, 12:59pm UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/2 "2023-02-15T12:59:51Z")

</div>

Hi @AM3D.BIM.STUDIO ,

you can do by this way :

1 : you can define a customize with addresouce icon and add image by read document here : [Add Icons for a Zero Touch Assembly or NodeModel assembly · DynamoDS/Dynamo Wiki · GitHub](https://github.com/DynamoDS/Dynamo/wiki/Add-Icons-for-a-Zero-Touch-Assembly-or-NodeModel-assembly)

And if you are working with project is sdk net6 , please read acticle : [Add Icons for a Zero Touch Assembly or Node Model assembly, Not work with NET6 SDK Style · Issue #13199 · DynamoDS/Dynamo · GitHub](https://github.com/DynamoDS/Dynamo/issues/13199)

1. Easy way I had make is :

- Create new class (Your namespace name is `Name`)
- Replace namespace by `Elements` like that and class is sub name is Element, and then now you have :
- Name =\> Elements =\> Element

With question 2, I recommend you read article to know more information : [Custom Node Class Remapping](https://forum.dynamobim.com/t/custom-node-class-remapping/68411)

Good luck

---

<div class="post-metadata">

**Author:** ![AM3D.BIM.STUDIO](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/am3d.bim.studio/32/127441_2.png) [@AM3D.BIM.STUDIO](https://forum.dynamobim.com/u/AM3D.BIM.STUDIO)\
**Post date:** [February 15, 2023, 2:33pm UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/3 "2023-02-15T14:33:03Z")

</div>

What is a " Zero Touch Assembly"…??? 🥶 😰 😖 😣  
I don’t know anything about that?  
I think I’m starting to get depressed…? Any video tutorial please, I’m just learning a little about this… help.  
Let’s imagine I am 6 years old something simple … step by step … please thank you

---

<div class="post-metadata">

**Author:** ![Michael\_Kirschner2](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/michael_kirschner2/32/75576_2.png) [@Michael\_Kirschner2](https://forum.dynamobim.com/u/Michael_Kirschner2)\
**Post date:** [February 15, 2023, 3:07pm UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/4 "2023-02-15T15:07:51Z")

</div>

give this a read:  
[https://developer.dynamobim.org/](https://developer.dynamobim.org/)

---

<div class="post-metadata">

**Author:** ![chuongmep](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/chuongmep/32/197537_2.png) [@chuongmep](https://forum.dynamobim.com/u/chuongmep)\
**Post date:** [February 16, 2023, 3:17am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/5 "2023-02-16T03:17:50Z")

</div>

I also you need read document for developer first as @Michael_Kirschner2 , comments , it also is not easy with me before, but when you have new problem, we can help.

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [February 16, 2023, 4:40am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/6 "2023-02-16T04:40:10Z")

</div>

Give those pages and the dynamo developer docs a good read. Once you get to C and beyond with most tasks the resources will generally be written guides as opposed to videos, at least from what I’ve found. Personally I’m still in the hate portion of my love/hate to and fro relationship with trying to learn C#, typically falling back to Python when it gets too confusing to continue learning for the time being.

Zero touch means the nodes draw on a compiled file or set of compiled files so their source in effect cannot be accessed directly like a Python node, I assume that’s the logic of the ‘zero touch’ name. To some degree you can protect source code using this approach, but it’s core benefit is access to C# features and speed/performance benefits that come with this due to talking more directly to Revit.

---

<div class="post-metadata">

**Author:** ![AM3D.BIM.STUDIO](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/am3d.bim.studio/32/127441_2.png) [@AM3D.BIM.STUDIO](https://forum.dynamobim.com/u/AM3D.BIM.STUDIO)\
**Post date:** [February 16, 2023, 4:53am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/7 "2023-02-16T04:53:43Z")

</div>

I find the execution time of the code with the zerotouch libraries in C# vs the dynamo nodes itself, it could be said that the difference time is ???

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [February 16, 2023, 5:00am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/8 "2023-02-16T05:00:20Z")

</div>

Check out this article by @john_pierson which provides a great case study and overview of potential performance benefits from nodes vs Python vs Zero Touch approaches:

> **[Dynamo Node Race - OOTB vs Python vs ZeroTouch - Design Tech Unraveled](https://designtechunraveled.com/2022/03/17/dynamo-node-race-ootb-vs-python-vs-zerotouch/)**
>
> Have you ever wondered which method of creating a Dynamo graph is faster? Is it out of the box (OOTB), Python, or ZeroTouch? Well, this came up recently on a RevitKid Livestream with Marcello, so I thought it would be cool to test. Check out the...

Obviously actual benefits will vary from case to case, but generally you would expect good performance from ZT nodes, particularly if they can circumvent the need for multiple nodes. A good example is the Sheet duplication node from BiMorph Nodes - despite its complex workflow it is quite fast and covers a lot of functionality versus the amount of nodes and time you would potentially require otherwise to achieve this type of workflow.

---

<div class="post-metadata">

**Author:** ![chuongmep](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/chuongmep/32/197537_2.png) [@chuongmep](https://forum.dynamobim.com/u/chuongmep)\
**Post date:** [February 16, 2023, 5:04am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/9 "2023-02-16T05:04:01Z")

</div>

advangtage of zero touch is we have IDE better (Visual Studio, Rider,…), perfomance, speed. complex workflow , maintain package ,… but it is not main in this question in this topic.

With ZT, I sure that we can do with close source but Open Source also same, just depend on people created it.

---

<div class="post-metadata">

**Author:** ![AM3D.BIM.STUDIO](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/am3d.bim.studio/32/127441_2.png) [@AM3D.BIM.STUDIO](https://forum.dynamobim.com/u/AM3D.BIM.STUDIO)\
**Post date:** [February 16, 2023, 5:43am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/10 "2023-02-16T05:43:12Z")

</div>

Thank you very much. It was very interesting. Now I am clear that zero touch is the best option

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [February 16, 2023, 5:58am UTC](https://forum.dynamobim.com/t/node-package-in-c-help/86184/11 "2023-02-16T05:58:49Z")

</div>

Not everyone will probably agree with my take there, so trigger warning in advance…

If your target is performance, and you have the time to work this way it generally is. The only real drawback it presents (in my opinion) is that you’ll find it harder to bring people along for the programming journey given many drop off before here. Seems a necessary step if you want to seriously scale across larger organizations though. Given I’m hanging around in Python I probably have bias here. Some users insist jumping into C# and returning back to Python is easier than starting in Python and having to relearn core programming concepts that aren’t shared by the two languages (e.g. managing memory/variable types).

At the end of the day pick whatever resonates with your goals until you need scale and performance. As we say in programming often, ‘don’t boil the ocean’.
