facearea returns inches, therefore you need to convert it, 2.542.54 gives sq inches to sq cm then sq cm to sq m then /10000
Posts
-
RE: Attribute "FACEAREA" 1.550003 off?
-
RE: Dynamic component rotation
open the component, select the raw geometry and make another component, set its axis in the direction you require, close
the nested component that holds the geometry is the one you will rotate. If you want to rotate in another direction as well, then you would nest it again so that the rotations are independent -
RE: Dynamic Components and animations + LIGHTUP
The onClick can not run run concurrently with the scene animation. either one must proceed the other. You can create a timeline animation using the the "animatecustom" function, to trigger events, but onClick only allows one scene change, meaning you would have to click again to move to the next scene. So you probably need to invest into an extension,
refer to https://sketchucation.com/forums/viewtopic.php?f=323&t=68975
-
RE: Mother child
@unknownuser said:
I try to reason how this works but it doesn't come easy to me.
It isn't easy. there are a few bugs to get your head around.
Perhaps it's helpful to understand that the dynamic part is a ruby script add on, it's not hard wired and as such has to work within the limitations of the ruby language and the developer's understanding when it was conceived. There are disconnections between what an attribute reports and the updated SU view, for example changing the rotation attribute will cancel out a previous input in any one of the others. Rotations involving groups can affect the size, the change seems to follow the changing boundary box.
Components seem to be more stable, but again misbehave when more than one axis is considered,Despite the updates in Ruby there seems to be little done to fix these bugs, however there are workarounds to achieve the results you require.
The first important point, I would like you accept is that all onclicks need to be on the same level of nesting, there's no point placing an onclick event in a lower nesting than the other.
I generally use nested groups only for parts of an object, like an "I beam" made of top flange, web and bottom flange. Then the object (I beam), the sum of its parts, is then a component. Collections of components may be then held in a group.
So the second is that using dynamic groups can be more problematic, unless they are simpleSo any animated object(s) should be a component and it is better to nest animated component(s) within another component, otherwise the rotation formula can be overridden when swapped or inserted.
At this point you may need to understand why attributes can be overridden, if they were not, then swapping a mouse with a elephant would mean their sizes would always match, etc. However you can match them, if the values are passed one level down and "current" is used in the parent if you want to, say have beam lengths to always match after a swap.
I am still trying to rationalise DCs intricacies myself. so most times I plug in data / methods until it works
Anyway, feel free to add any more problems, then can add some more observations
-
RE: Mother child
A Merry Christmas too
First
as foot is a child of bed, then need to choose either as onClick point, not both. The parent or the closest child "onclick" will always trigger before any lower nested "onClick"I made the bed a component, this fixes the size issues one has to account for if using groups and rotation.
If still want to use groups then you need to use a separate attribute to pass the value to the nested rotation and fix any sizes affected by the rotation.
attached two files, one using groups, other where I converted the group "bed" to a component
cheers for the new year
Philip
-
RE: Mother child
could you upload a 2017 version? not intending to update this time.
generally each rotation needs to separate with its own nesting (world axis), however the example on https://forums.sketchup.com/t/rotating-more-than-one-axis-with-a-dc/54350 may work, but best to work your example
-
RE: Letter A with onClick material colours
a bit of junk, sorry can be deleted, can't recall why I started it.....sign of age?
-
RE: Letter A with onClick material colours
I choose generic red and black, rather than add a pallet, use SET("attribute",state1,state2,...stateN) for onClick in parent and reference the child material, named colors have to be text.
http://ruby.sketchup.com/Sketchup/Color.html
lists the standard colors that DCs (ruby) interpretsP.S.
I removed your existing materials replaced with default -
RE: SU18 Section Fill Question
in any sketchup version, select the underside of the wall, reverse this face, paint with a pattern, reverse face back, when cut it will show the pattern
-
RE: Dumb down component?
David, author of Click-Cuisine ... IKEA. Has been searching for a similar solution. John may have the solution you are looking for:-
https://forums.sketchup.com/t/select-all-sub-components-in-a-selection/54361/35 -
RE: Question about 2017
One should divide the dialog forms into purpose and place 2 to 3 or less per a page, then use auto hide if you want extra space
-
RE: Logic Function HELP!!
if using in the context of lenz attribute and assuming using cm, then value compare current("lenz")*2.54
lenz = if(current("lenz")*2.54<=240,240,if(current("lenz")*2.54<=270,270,if(current("lenz")*2.54<=300,300,360)))
if calculating a nearest_size attribute without forcing the lenz to snap to the result, then use
size = if(lenz<=240,240,if(lenz<=270,270,if(lenz<=300,300,360)))
-
RE: How to do repetitive stitching holes .
probably the quickest way without using extensions is to draw a circle on a 2D shape then place a circle, then copy array (move tool + control), delete the centers. Then push pull the thickness of the belt
Another method is to use a dynamic component on the 3D form
https://3dwarehouse.sketchup.com/model/25c4463957ad36c2635f69bba8c8ac7/dynamic-hole-builderBut since is just a belt with say six holes then easy enough to copy array the first circle on the raw then pushpull the holes individually
-
RE: Edge Length Attribute
here is a panel DC within a working file that can be scaled or fixed and set to different pitches and returns the dimensions in the option dialog
Use the fixed position (drop down option) to start with, then use the scale position to match the next panel (direction via another dropdown)
(its not fully tested, so if there's something not quite right...its fixable)
I can help you if you private message your DCwith regards the work flow, the report writer can transfer the required data to excel. Excel can hold the formatted label, exactly as you have shown with named cells in the data positions. An VBA routine can be made to transfer the data sheet from Sketchup to the labels required, in that Copies be made in excel and filled out to suit each component that exists on the report
I am well acquainted with excel and VBA
P.S. most likely would build this DC differently, however it does give you an idea to how to achieve your goal
-
RE: Edge Length Attribute
I would say its possible, would the panels have side cutouts for openings?
-
RE: Sketchup DC Material attribute
Creating a string works
=(RANDBETWEEN(111,223) & "," & RANDBETWEEN(111,223) & "," & RANDBETWEEN(111,223))
-
RE: Help - facearea
refer to
http://sketchucation.com/forums/viewtopic.php?f=289%26amp;t=68004otherwise if specific you need to upload your component (private if required, note I will be away two days)
-
RE: Sub-component to copy equidistant along main component
this is a slight modification where one can choose the maximum rail position
-
RE: Sub-component to copy equidistant along main component
hi
when using copies, the DC creates a number of copies each with a notation copy which is sequential.
So if there are four copies, then copies will be produced with an attribute called Copy with a value 1...up to 4one uses this copy attribute to identify and manipulate each copy
the first idea is generally create equal sized copies and have them space themselves evenly. Assuming the first copy is the top rail, then its location would be the height of the door minus the width of the rail
=DoorPanel!LenZ-LenZ
if I times this by copy
=copy*(DoorPanel!LenZ-LenZ)then if copy=0, this expression =0, which is true for the original.
if copy =1, the expresion = DoorPanel!LenZ-LenZ. the position of the top railnow I introduced a attribute option for the number of rails (including the first)
now copies of DoorRail will be =DoorPanel!number_rails-1
now their position will be divided by one less than the number of posts as per a fence construction, that is the same as the copies value
so for the position
=copy*(DoorPanel!LenZ-LenZ)/Copieshence the solution as attached
one could add conditional statements as well to create variances via optional input for intermediate mullions, or different panel sizes, will help if you require and you explain any detailing