Layout: Hidden lines from 3D detail views

Normally i document my objects by turning them into outlines and hidden lines via Make2D command. Using one Detail view in my layout and apply notation and title block via the layout.

Recently i am thinking to bypass the Make2D stage and use multiple detail views to represent the orthographically views. This could save time if the model changes multiple times. (Similar to this rhino tut. https://vimeo.com/channels/715875/90913914)

Is there a possibility to show the ortho views with outlines and hidden lines that the user can define and control. Eg control Line pattern size/ line thickness.
The closest option i have is the display detail view with “Technical” display mode. But this doesnt give me much line control.

Thank you.

1 Like

No comment here from anyone from McNeel (@bobmcneel, @dan: It would be useful for RhinoMac, too …)?

So far, ‘Technical’ is the best we have for this, I’m afraid. Making Make2d more powerful, possibly via Layouts is certainly a goal but is not slated for V6. I do not know what more can be done with Technical to make it more flexible in the meantime though.

-Pascal

I mean the program does “know” which lines are hidden, and which are not. I can change the color and the line thickness. Can’t be that hard to add an additional option where i not only can change the color and thickness, but also the linetype (Linetypes properties | Rhino 3-D modeling)

Honestly, that is the biggest disadvantage I see in rhino right now - no proper mechanisms to control your drawing, and really high performance costs if I have mutliple layout-drawings with multiple details. If i have to export my construction i did in Rhino into another Program to make drawings, or if i have to “Make2D” after every change i did in the Model to keep it updated, I have to find another Program to do the job.

Don’t get me wrong, I like rhino and do a lot in it. I even can work with some “clunkyness”, and if i have to setup my personal settings deep into the properties, so be it. But if i can not touch that function at all, i do not see the advantage over other programs where i can set up my drawings in a few clicks, and keep them updated to the 3D-Model on the go(or with an "Update drawing button).
Since you did improve the drawing-options in the last big update I hope you will not abandon this big function needed in a CAD-Program, since the most important part of Modeling is to get results i can present to customers, suppliers and manufacturers, so the Part can be built and delivered.

It does? I think that’s the problem many users have with technical modes…they assume they understand what they’re seeing on the screen, and therefore make wrong assumptions about how it’s actually done.

There is no such thing as a “hidden line” in Rhino, nor is there any such object attribute. A line is a line. From a “visibility” aspect, the entire line could be “hidden” or visible, or multiple portions of the line could be hidden or visible (think of a line dipping in and out of a curvy surface), and the latter is probably the norm and not the exception. The term “hidden” in this case should really be “occluded”… Which portions of which lines are currently “occluded” by other objects? That’s really the problem being discussed…and it’s not a very easy problem to solve. Rhino currently “solves” it using its Technical Display Pipeline, which uses tricks with the color and depth buffers to achieve the “effect”…but that’s all it is…an effect. Rhino has no idea which portions of which lines are occluded at any given time…it just looks like it does.

Thanks,
-Jeff

You are correct, I do not understand how that works. Perhaps thats why I got a little frustrated yesterday when I had the options-panel right in front of me, but could not choose what i needed to choose. Please forgive me.

But nontheless, even if it is all trickery, smokes and mirrors, I cant quite graps why there is no way to alter the occluded lines further than i can do now. I mean i CAN alter them, where is the problem to give me more options on how to alter them? Make them dashed, or pointed, or something entire differently.
As Example:

I have occluded lines off:

I have occluded lines thickness 1:

I have occluded lines thickness 3:

All that i could alter in the properties:

Or did i cause a missunderstanding because of my usage of the word “lines”? I know that occluded curves are not altered in their appearance:

1 Like

Hi - the why is extremely simple - the feature just wasn’t designed to provide those options.

Yes, it can. It takes resources that are currently allocated to other features.

That said, it is on the table to revisit the Technical display pipeline during the life span of Rhino 7. When and what this will result in is yet unknown.

Your feedback on the importance of this feature is much appreciated and generally is what guides prioritization.
-wim

Thanks for the fast answers. I am looking forward to Rhino 7 then. I know you probably have lot’s of other priority-points on your list, but in my opinion rhino would gain a lot more attractiveness if you can set up your technical drawings inside the program itself. Especially when alternate programs like AutoCAD or Draftsight require monthly subscription. But as far as we are now i rely on these programs to get the Rhino Models into presentable technical drawings.

Most furiating for me is that with Rhino 6 you went a lot of steps in the right direction, but it feels you stopped about 5 steps before the finish-line. For small, simple parts i can already get drawings done i can give to manufacturing. But as soon as there is a little customization needed i am better off with the upper programs.

Nontheless, keep up the good work and you will have me as customer for R7!

can you write down exactly things that you miss? At the moment I am writing some scripts to make working in layouts a bit more productive. If interested, you can find them here: Page Layout Tools

1 Like

I will gladly do so, just give me a few days for that. In the meantime: Thanks for the linked scripts.

Since I did not have enough time to dive deeper into this topic in the last few weeks here are a few short answers:

@wim What I noticed until now during the creation of drawings:

  • Manual Update of Details: When I have a big model, and create a arrangement or installation drawing, this takes many resources. Which is ok. But after the Detail is set (in technical/wireframe etc) it still is all laggy on that layout. I assume this originates out of the fact that the drawing gets updated live (all the time). Perhaps the layout could save resources if the details get drawn once, and you can choose if they are updated live, only when asked, or when something is changed in the model. A bit like the Update-function in the blockmanager (Embedded and linked blocks should: - Always Update - Prompt when update is required - Never update)

  • A fast way setting section views. Until now i have to: 1) Set a clipping plane 2)Set a new detail 3) Set in which detail the clipping plane should be active 4) Draw arrows in a detail where the clipping plane is set
    I am playing with the thought of making a little macro for this myself, but if Rhino 7 can give me the option to define a section in a detail, and automaticly generating a second detail with said section this would be great.

  • Indepentend Hide of Objects in Detail and Model View. The first step is already done, if everything in the Model-View is Shown, i can Hide Objects or Layers in every detail individual. But why does the Model have to be shown for that? If I hide something in the model view, the detail views are affected by that, even when i have set their visibility-options beforehand seperately.

  • Show Objects transparent. I know there is some way over materials in rendered view, but perhaps in technical or wireframe, i want to set objects to “transparent” so they are shown with “hidden” lines or something like that. But this point could get obsolete with the next one

  • More control over the shown lines. I want to be able to define linethickness of the detail views in one simple menu. Today i can set lines thicker in properties, but even when set to hairline the lines are pretty thick when printet as vector-output. And for example, in properties i can make differenty type of lines thicker (Hidden Lines, Edge Lines, Silhouette lines etc.), but I want to be able to define the linetype for them, too.

  • Set the Viewmode of Details in the Properties-Window. Now I have to open every Detail with double click, choose the viewmode over the Properties in the Upper Left Corner, and Close the detail again. Why can i not set this in the Properties window, together with Scaling and Locking which is selectable already.

  • Draw Hatches for in clipping planes. I already can choose to draw the outline of the clipped objects, and for drawings i have to make hatches for every cut object. If the Outlining can get generated, perhaps it is not that difficult to generate a hatch inside.

  • An seperate 2D-Drawing Data. Perhaps this goes to far, but since I am already able to create my model out of blocks to save space, are able to view the blockmanager etc, perhaps i can generate a seperate 2D-Drawing File, out of my 3d-Model. Which is saved seperatly and linked to my model.

  • A Structured Part/Block List. As I already stated, i mostly work with Blocks. I would like If i could generate a Partlist out of that. Something stuctured where i can List the Count of Blocks Used, Name, Properties(?), and the hirarchy of blocks.

  • The Option to give Blocks Properties. Until now i can do this manually with Attribute User Text. What you gave us with this is a wonderful start, but here i want more options. Until now i have to write scripts to manually write the Object Volume into the AttributeUserText, and then another script to generate a weight out of the volume, etc. If it would be possible to simply generate functions or dependencies in this, and access these properties even in blocks, and give these values out in textfields, this could get an extreme powerful tool to generate Part-Lists, Weight Calculations and More.

That are my first thoughts what would smoothe my experience with rhino.

And @Gijs: Until now i was not able to test your scripts properly since i have a lot on my desk right now. But an Idea for another script (on which i work in my free time, but since i am not experienced in python and do not have a lot of free time it will take months to complete this):
A script for Drawing-Frames. I have Drawing-Frames with company-layout. Until now i have made this rhino-ready with the “document user text” where you can type in “project number”, “project name”, “author”, “last edited”, etc. So when importing the layout you have to go to the document user text once, set all that, and all follwing imported Drawings are already completely filled out.

Now i want to write a script, so the other users do not have to fiddle in the documentusertext, since you can break the Key/Value combination relative fast this way. In my thought, the script has either to “import layout” and after that to open a Textbox where only the Values can be changed, or i have to somehow give the layout some kind of “autostarting script”, so when the layout is imported the textbox for choosing the values will open automaticly.

Best Regards and thanks for the civilised conversation,
Boreas

1 Like

@Boreas I will look into that as soon as I can, although it will not be anytime soon before I can spend time on this. Adding Drawing frames (I assume you mean the same as what I call title-blocks) was on my list of things to add anyhow.

Hello - look at rs.PropertyListBox() / Rhino.UI.Dialogs.ShowPropertyListBox()

-Pascal

Thanks a lot for that Information. A first Quick-Shot in Python works like a Charm, now I just need to polish the code so already set Keys are read in and do not get overwritten.

@Gijs : The Code for me so far is:

import rhinoscriptsyntax as rs
import Rhino

rs.MessageBox (“Start Drawing Input”)

Values = Rhino.UI.Dialogs.ShowPropertyListBox(
‘Drawing Input’,
‘Please define following Values’,
[‘Drawing Number’,
‘Revision Number’,
‘Drawn by’,
‘Drawn on’,
‘Drawing Name’],

[‘Drwg.No.’,
‘Rev.No’,
‘Author’,
‘Date’,
‘Name’])

Keys = rs.GetDocumentUserText()

i = 0
while i < len(Keys):
rs.SetDocumentUserText(Keys[i],Values[i])
i = i+1

And for that the template drawing does have text fields including “%<DocumentText(“Drwg.No”)>%” etc.

As I said, it was a quick shot, when i find the time I will try to let the script import the layout from the company-server, then read the given key/value pairs, and give the user the option to change them to their liking. Feel free to use my 2 lines of code for your scripts if you want :slight_smile: