Story sensitive object with smooth option
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17
01:48 PM
- last edited on
2025-02-05
12:30 PM
by
Aruzhan Ilaikova
I am using Archicad 13 for a couple of months and i have recently discovered its potential to work with imported models from other softwares like Rhino or Cinema 4D. I am trying to find a workflow where i can create models in Rhino (and Grasshopper eventually) as complex envelopes/shapes for the exterior of the building and then refine and document the rest of the project within Archicad.
I believe this workflow has`nt been that easy before implementing the Cinema 4D Exchange plugin because of the storysensitive planview issue.
Now i just found out that a 3DS model imported in Archicad when sent to C4D and then back , will become storysensitive wich is great.
The problem is that it looses the "force smooth" property wich the 3DS import has.
My question is what is the workaround to add the smoothness property of the storysensitive object imported from C4D? I mean i would like the uncut surfaces to be seen without those edges of polygons, except for the countours. Just like the 3DS imported object but with cutplane sensitiity.
It has something to do with the 3D script pehaps? Or also in 2D script?
I am not proficient in gdl but i could manage to insert or change some lines.
Thank you !
- Labels:
-
Cineware & CineRender
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 04:07 PM
Replace the graphic part of 2D script with the Project2 function. (There may be useful hotspots you want to retain.) This will cause the script to use a top view projection of the 3D as the plan symbol.
At the very beginning of the 3D script use:
IF GLOB_CONTEXT = 2 THEN addz plan_cut_height ! derived from global parameters according to your needs CUTPLANE ! in this form it simply cuts away anything above the XY plane del 1 ENDIFThe GLOB_CONTEXT condition means it will only run when called from the 2D script. At the end of the script you will need:
IF GLOB_CONTEXT = 2 THEN CUTENDThis ends the cutting plane.
You will also need to calculate the cutting height according to the home story, current story and floor plan cutplane global parameters. There may be a bit more tweaking to get the story sensitivity right. I don't know your exact requirements and it's been a while since I've written one of these.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 05:38 PM
Regarding the script for manually make it story sensitive, i have actually found a post here wich is even more flexible and reacts to the global cutplane settings. [url]
First add a parameter for turning off or on the storysensitive function then in the begining of the 2D script should be this:
if StorySensitive then dummyvar = GLOB_CSTORY_ELEV project2 3,270,1 ! if you replace 1 with 2, becomes hidden line wich is what i wanted! end endifAt the begining of the 3D script :
if StorySensitive and GLOB_CONTEXT = 2 then add 0,0,GLOB_CUTPLANES_INFO[1] + GLOB_CSTORY_ELEV - GLOB_HSTORY_ELEV cutplane del 1 if CutBelow then cutbottom = max(GLOB_CUTPLANES_INFO[3]+GLOB_CSTORY_ELEV-GLOB_HSTORY_ELEV,GLOB_CUTPLANES_INFO[4]) add 0,0,cutbottom mulz -1 cutplane del 2 endif endifAnd at the end of the 3D script:
if StorySensitive and GLOB_CONTEXT = 2 then cutend if CutBelow then cutend endif endifI don`t know what dummyvar means. Anyway i succeded to make it cutplane sensitive but now i have to insert the foloowing parameters : uncut linetype
uncut pen
cut pen,
cut linetype
cut fill
Can you tell me where i should insert them and wich is the syntax?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 05:42 PM


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 05:49 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 06:06 PM
The smooth thing option is really a mistery. I wonder where it stays on the GDL script. Maybe by studying the C4D exchange script i could find an answer.
However the C4D script isn`t easy. Still, i think i have found the part where it defines the Projected view (wich means cutplane sensitive)
============================================================================== ! Projected Views ! ============================================================================== gs_cutplane_height = GLOB_CSTORY_ELEV - GLOB_HSTORY_ELEV + GLOB_CUTPLANES_INFO[1] gs_top_range_height = GLOB_CSTORY_ELEV - GLOB_HSTORY_ELEV + GLOB_CUTPLANES_INFO[2] if gs_symb_show_projection_to = stProjectionTypes[1] then gs_bottom_range_height = GLOB_CSTORY_ELEV - GLOB_HSTORY_ELEV + GLOB_CUTPLANES_INFO[3] ! To Floor Plan Range else gs_bottom_range_height = GLOB_CUTPLANES_INFO[4] ! Absolute Display Limit endif doCutplane = (AC_symb_display_option = 1 | AC_symb_display_option = 2) ! Draw View Edges ============================================================== pen AC_uncut_pen line_type 1 if AC_symb_display_option = 5 then pen AC_overhead_pen line_type AC_overhead_linetype endif project2{3} 3,270,2+32 * (AC_symb_display_option = 5 | not(gs_use_3D_view_attributes)), 8, parameters gs_2D_projection = doCutplane, gs_2D_projection_type = 1, gs_cutplane_height = gs_cutplane_height, gs_top_range_height = gs_top_range_height, gs_bottom_range_height = gs_bottom_range_height
I think the first part defines the cutplane settings wich is good.
But the answer for the smoothness issue is somehow related to this line?
project2{3} 3,270,2+32 * (AC_symb_display_option = 5 | not(gs_use_3D_view_attributes)), 8,can somebody "translate it"?
Maybe if i could change a line or two in the C4D script i get what i want in an even easier way?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 06:56 PM
PROJECT2{3} projection_code, angle, method, parts
[, backgroundColor, fillOrigoX, fillOrigoY, filldirection][[,]
PARAMETERS name1=value1 , ... namen=valuen
"project2{3}, adds the possibility to define which parts of the projected model are required and to control the attributes of the cut and view part separately, including the line type. You can also generate the projection with actual parameters set in the command"
It seems this new command incorporates the settings i am searching for?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 07:21 PM
So i guess this issue is related to the actual 3D script . I should compare the 3D scripts of the C4D and 3DS import object. Does anybody knows more about this thing?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 08:04 PM
TMA_80 wrote:This is why I use 3DS to get SketchUp models into ArchiCAD.
it the same problem when importing skeychup object ArchiCAD triangulate all the faces , the force smooth option from the 3ds addon would be great for both cases (yours and sketchup objects )
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-02-17 08:11 PM
Coty82 wrote:You are right. The smoothness is determined in the 3D script. As I recall the Project2 {3} command just gives control over fills and pens for the plan view projection.
I am updating again. I have found that the "method" parameter in the Project2 {3} command, has nothing to do with the smoothness of 3D object.
So i guess this issue is related to the actual 3D script . I should compare the 3D scripts of the C4D and 3DS import object. Does anybody knows more about this thing?
I don't know what the script from C4D import looks like but if it is binary then the options are very limited. If it is editable script it is theoretically possible to modify it but may be too difficult/problematic to be realistic.