Special roof plugin
-
My 'Roof' plugin will do what you want - you can simplify the eaves/fascia/verge etc down to 'nothing' if you want...
With simplified hipped solutions you can quickly move a vertex to become a gable end... -
Hm... it might be because the data export plugin for ArcGIs is not the newest, but I always get the "hipped roof error", even if I use it on a perfect rectangle. If I draw a completely new body manually it works (even within my exported skp-file), though. Any suggestions?
-
It is sensitive to the way you have made the faces - try selecting the face that fails, grouping it and exploding it... or edit>copying it and paste-in-place, or make a copy off to one side and make the roof on that and then move everything back ?
-
Well, the faces are all made through the extrude process done by the ArcGIS export plugin. I just tried deleting everything besides the bottom surface, flipping and redrawing it it several times, and then pulling up a new box shape - won't change anything, I still get the error message. Funny enough, all 3-point-selection roofs work perfectly...
This is driving me crazy...
And there is no way I can edit every building until it works, every urban model contains from dozens to hundreds of buildings...
-
The only part that uses a face is the 'Hipped/Sprocketed' type.
It currently needs the edges of the face to be arranged in a 'logical way' [a future update will avoid this but it is at the end of a long list - currently around 11th...] - it is possible to make faces where some edges are 'reversed' relative to the face.normal - if they all are there's no problem - certain combinations of edges seems to trip it.
I found that grouping the face - Select face > Group > Explode often fixed it, as the newly reformed face/edges are auto-corrected by SUp.
So I suggest the following fixes are tried in approx. order of complexity.
Select Face > Group > Explode Group - make Roof
Select Face > Group > Edit Group - make Roof in Group - explode Groups as desired...
Select Face > Group > Edit>Copy Group > Edit>Paste copy > make Roof in copy - move back over original and explode Groups as desired...
Select Face > Edit>Copy > Edit>Paste-in-Place [overwriting the original] > Select Face > make Roof
One off fix attempt - Select everything > Group it > Move+Ctrl to copy to one side a fixed amount in the X/red axis > Erase the original Group > Select the Group-copy and move it back the fixed amount so it's now where the original was > Explode it... now try making the Roofs - the face/edges might have got fixed by the operation...
I will publish an updated version of Roof sometime but at the current rate it's not moving up the list at all ! -
TIG, thank you for trying to help me with this, I really appreciate it! I tried all your fixes, but only the last one brought any results, and still at less than 10% of the buildings. I added a small excerpt of a former model as an attachment, maybe the problem is related to my current configuration or something else locally.
Could you maybe try if you get the plugin working on this data? If not, it doesn't really matter, then I'll just go back to drawing a ridge line and auto-folding the roofs, although now supported by your "get slope"-tool to quickly verify the result . And of course wait calmly until you find the time to update roof tool .
Anyways, thanks again for your help!
-
It really is awkward to fix these ! Haven't seen anything so obtuse before.
I have ideas to side step this whole issue, BUT I'm sorry, you'll have to wait in line... -
At least it's no be being too stupid to use the plugin.
Again, I completely understand that there are more important projects on your list than helping a random guy for free . Thank you again for your response and help, I'll gladly wait in line.
-
I had a quick tweak of the Roof tool to make it more robust and quicker - my draft version works fine on most things... expect for your SKP [again] ! It still fails - I looked at it a bit closer the problem in that the software that making the built forms doesn't try to 'orthogonalize' the shapes so whilst the sides look parallel or at right angles they're not - by a few mm only. If they aren't like that it doesn't usually matter because most roofed forms have reasonably distinct angles to their sides. As the error message says, you just can't make a single pitch hipped roof over some shapes - typically 'crooked stars' - it's just not possible geometrically...
By introducing these subtle kinks in the edges of the roof the form can't face.
Also as the tools uses a form of FollowMe we can fall into the 'small-faces' trap... FollowMe won't face tiny facets - it is trying to make tiny slivers of valley etc to make a continuous roof plane - typically the limit is <~1mm wide - it's a limitation of OpenGL etc - a trick is to scale up things x10 or x100 and do the processing, then scale down again - when the faces will be preserved. However, when I tried that with your SKP it still failed so it is most likely the 'crooked-star' trap where you can't actually add a single pitch hipped roof to the shape.
Unfortunately there's no quick fix. Resetting the axes to the sides of a shape and then redrawing the shape with a Style that shows the edge color by axis could help but is tedious - sorry -
@sanderka said:
At least it's no be being too stupid to use the plugin.
Again, I completely understand that there are more important projects on your list than helping a random guy for free . Thank you again for your response and help, I'll gladly wait in line.
SAnderka
Picking up ref TIG,s comment about the "crooked stars". My checks indicate the following; Almost every building is not square. Don't know if this is by design or modeling error. If latter you need to learn how to use the inference engine for acurate drawing; In some cases the primitive geo of the group is assigned to layer other than layer 0. All primitive geo should go on layer 0, assiging components / groups to layers other than 0 can be used of visibility control.
Just some thoughts for you -
Well, the buildings aren't square because it's based on real world geodata. If people don't build their houses perfectly rectangular, there is no way to force them . All buildings are extruded from municipality footprint and parcel data, and the whole point of building an digital urban model is to represent things as they are. if I change all buildings to rectangular, this wouldn't be the case anymore (not to speak about the amounts of unpaid work - my present project contains 890 buildings, including garages and annexes)
-
I know the data is 'surveyed'... but the survey accuracy is probably +/- several mm - you couldn't expect anything better. Many of these buildings are almost 'square' - several of the sides are at right-angles or parallel as you'd expect, but a few are 'just off' and clearly shouldn't be - I mean by 3-8mm in alignments - which is nothing in terms of their measured accuracy, BUT when applied to a top face that might then become an un-roof-able 'crooked star' it really matters - when you build a hip roof in the real world and all slopes should be say 30 degrees if one is 30.001 degrees no one will notice.
I've been thinking about this - an 'orthogonalizer' tool that'd look at a form and adjusts any slight unevenness would be possible - you could set the 'accuracy' tolerance - e.g. adjust parallel edges that have 'lines' less than perhaps 10mm apart, adjust near parallel edges with 'lines' that are perhaps less than 1 degree apart, align co-vertexed near-parallel edges with 'lines' that are within 1 degree apart or make square co-vertexed near-perpendicular edges with 'lines' that are between 89 and 91 degrees apart [these 'ranges' could be customizable] - all other edges would stay as they are since you might have skewed building by design, rather than by survey or drawing inaccuracies... You'd select the form and run the tool and it would fix it - you'd not notice the difference... The new tool is on the bottom of the long list...
Or I could build in some 'orthogonaliztion' into the roof tool and duplicate the top face slightly adjusted ?
Alternatively I could completely change the way the roof tool makes hipped roofs and allow some 'slope tweaking' to make it work - unfortunately THAT is now very complex mathematics/geometry... and my brain hurts thinking about it already...
Advertisement