BalconyStripe --> s('3, '1, balconyLength) center(x) i("builtin:cube:notex") BalconySupport
*normal* [ haha, 3d graphics 'inside joke' ]
hi .. try these files.this is a hack though.to know : if you cut a profile with a split, the 'closing geometry' is created. thus in this example, we align the scope to some very specific edges to cut from one side, then from the other side to close the geo.though since these edges are specific to each assets, they need be found/set manually (play with the values to find them). then, set the miniCutDepth to something small, like 0.005.the case why there are no geometries created was just a development decision some time ago. this may change one day.use the provided asset, but adapt the path to it ..matt
ps.not CGA-related :as an architect, I MUST [ 😉 ] say that the profile you are using is an ornamental 'band', but is not directly used as a 'form' for a balcony in reality. yes, some details are important .. hehe.
hi ! I just retried with this with my original asset : the asset itself works. though, there may some other things which go wrong : 1] to make the edge-finding process faster, create an attr of the left and right indices, then use the slider in the Inspector 🙂 when retrying here at home, I weirdly found other indices (left 5 and right 7). puzzling. 2] make sure your scale.sx is large enough to be trimmed even at sharp angles, so maybe scale it to '20 ! of course, if not all geometry is trimmed, the number of edges is not correct, so the whole point of this hack is lost. here's the proof that it works with my code and asset. [sorry, could have posted also before !] [ATTACH=CONFIG]12979[/ATTACH] let me know .. !
- using you asset, when choosing incorrect edges the asset was split, but no new faces were created! Why? For example, on the screen I chose edge number 4 and the asset was split from the back. Shouldn't I have
just to be clear, you actually meant using 'my (André's) own' asset, right ?
hi !I've had a look at your asset and it makes sense that it cannot be closed.CE can only close 'cylinder - like', CLOSED assets, even if the ends are missing as on my asset. your asset is open on the back side, thus it is not closed as an 'O', but open as a 'C', profile-wise spoken.once you have it closed, make sure you merge all the vertices and eges properly to make the tube mathematically 'watertight'.ok ?I'll track the linux/windows changing indices down !matt
PutBalcony --> s('20, thickness, depth) center(x) i(profileAsset) reverseNormals LeftTrim(leftEdgeID)
LeftTrim(n) --> alignScopeToGeometry(yUp, n) alignScopeToAxes(y) split(z) {miniCutDepth : NIL | ~1 : RightTrim(rightEdgeID)} RightTrim(n) --> alignScopeToGeometry(yUp, n) alignScopeToAxes(y) split(z) {miniCutDepth : NIL | ~1 : reverseNormals X.}
attr depth = 2 attr thickness = 0.3 attr miniCutDepth = 0.5 profileAsset = "assets/profileAsset_normalsOutside.obj" attr leftEdgeID = 0 attr rightEdgeID = 2 Lot --> extrude(10) split(y){~3 : comp(f) {side :Facade(split.index) | top : Roof.} }* Facade(i) --> case i != 0 && p(0.6) : Facade. PutBalcony else : Facade. PutBalcony --> s('20, thickness, depth) center(x) i(profileAsset) LeftTrim(leftEdgeID) LeftTrim(n) --> print (geometry.nEdges) alignScopeToGeometry(yUp, n) split(z) {~1 : RightTrim(rightEdgeID) | miniCutDepth : NIL} RightTrim(n) --> alignScopeToGeometry(yUp, n) split(z) { ~1 : X. | miniCutDepth : NIL}
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.