In the last several months I've made some kind of team with Daniels118. This approach can be extended by simply extendending the slope vector, if once the user interaction is capable to cover arbitrary face slope setting so that eventually the slope vector length equals the edges/faces count. This can already cover for the most practical 4 edged roofs including sort of gable roofs if one slope is set to 90° (or close to 90°, I noted in the algo descriptions some possible concerns about singularities at this point). By this, you have already a solution for an arbitrary number of edges altering the slope every other edge. Adopt the code to pass both values as array/vector and in getRoofFaces just loop over this vector restarting at end ("wrap-around"). You may offer the user, for the beginning, two slope sliders. I had a look into the code (currently, i am reluctant to setup a development environment to try myself *shame*), it seems the key entry point into the algo is the function getRoofFaces(.) with value "weigth" so instead of the scalar value for slope, one would need to pass through an array/vector to use in the edges loop there as weight. I cannot help with this, but maybe for the first go, another approach is feasible as well: ![]() selecting the faces and directly setting the slope for the face. I noted, you wonder about user interaction for this, i.e. Regarding the roof plugin, the possibility to set multiple slopes would be nice indeed. This topic has been viewed 84937 times and has 153 ![]() Thread Status: Active Total posts in this thread: 154 Sweet Home 3D Forum Category: Help Forum: Developers Thread: Generate roof plugin
0 Comments
Leave a Reply. |