DM 1.5 for Houdini

   4177   11   3
User Avatar
Member
538 posts
Joined: Dec. 2006
Offline
DM 1.5 first screenshot:
https://i.postimg.cc/rcy3KY3v/dm1-5-screen.png [i.postimg.cc]
Edited by Alexey Vanzhula - Feb. 18, 2019 05:55:50
https://gumroad.com/alexeyvanzhula [gumroad.com]
User Avatar
Member
833 posts
Joined: Jan. 2018
Offline
Is it out? (don't say “soon”).
>>Kays
For my Houdini tutorials and more visit:
https://www.youtube.com/c/RightBrainedTutorials [www.youtube.com]
User Avatar
Member
538 posts
Joined: Dec. 2006
Offline
During the week…
https://gumroad.com/alexeyvanzhula [gumroad.com]
User Avatar
Member
538 posts
Joined: Dec. 2006
Offline
DM 1.5 zone menu system.

An example of how you can create your own customizable menus via shelf tools:

if not hasattr(hou, 'dm_menu'):
    from dm import ui, symmetry, simple_tools
    from dm.state_tools import push

    class DM_Menu(ui.ZoneMenu):
        font_size = 10
        cell_width = 80
        cell_height = 32
        border_size = 1
        font_color = 'black'
        left_color = '#555555'
        right_color = '#555555'
        top_color = '#444444'
        bottom_color = '#444444'
        left_right_offset = 0
        opacity = 0.94
           
        def build(self):
            # LEFT ZONE 
            self.tool('Extract', simple_tools.extract, 'left', 1, 0)
            self.tool('Flip', simple_tools.flip, 'left', 1, 1)
            self.tool('Delete', simple_tools.delete, 'left', 1, 2)
            self.tool('Collapse', simple_tools.collapse, 'left', 1, 3)
            self.tool('Clean Edges', simple_tools.clean_edges, 'left', 1, 4)
            self.tool('Fix Overlaps', simple_tools.fix_overlaps, 'left', 1, 5)
            self.tool('Clip', simple_tools.clip, 'left', 1, 6)            
            
            self.tool('Delete History', simple_tools.delete_history, 'left', 0, 0)
            self.tool('Clean History', simple_tools.clean_history, 'left', 0, 1)
            self.tool('Delete Nodes', simple_tools.delete_nodes, 'left', 0, 2)
            self.tool('Isolate', simple_tools.isolate, 'left', 0, 3)
            self.tool('Fix Normals', simple_tools.fix_normals, 'left', 0, 4)
            self.tool('Reduce', simple_tools.reduce, 'left', 0, 5)
            self.tool('Separate', simple_tools.separate, 'left', 0, 6)


            # RIGHT ZONE 
            self.tool('Bevel', 'sop_polybevel::2.0', 'right', 0, 0)
            self.tool('Extrude', 'sop_polyextrude::2.0', 'right', 0, 1)
            self.tool('Inset', 'sop_polyextrude::2.0', 'right', 0, 2)
            self.tool('Split', simple_tools.split, 'right', 0, 3)
            self.tool('Loop', simple_tools.loop, 'right', 0, 4)
            self.tool('Connect', simple_tools.connect, 'right', 0, 5)
            self.tool('Mirror', simple_tools.mirror, 'right', 0, 6)

            self.tool('Knife', 'sop_knife', 'right', 1, 0)
            self.tool('Fill Quads', simple_tools.fill_quads, 'right', 1, 1)
            self.tool('Fill Polygon', simple_tools.fill_polygon, 'right', 1, 2)
            self.tool('Shell', 'sop_polyextrude::2.0', 'right', 1, 3)
            self.tool('Duplicate', simple_tools.duplicate, 'right', 1, 4)
            self.tool('Bridge', simple_tools.bridge, 'right', 1, 5)
            self.tool('Slice', simple_tools.slice, 'right', 1, 6)


            # TOP ZONE
            self.tool('Symmetry', symmetry.symmetry, 'top', 0, 0)
            self.tool('Instance', symmetry.instance, 'top', 1, 0)
            self.tool('ReSym', symmetry.resym, 'top', 2, 0)
            self.tool('Subd. Instance', symmetry.subdivide_instance, 'top', 3, 0)
            self.tool('Material', simple_tools.material, 'top', 4, 0)
            self.tool('Pick Material', simple_tools.pick_material, 'top', 5, 0)
            self.tool('Edit Material', simple_tools.edit_material, 'top', 6, 0)

            self.tool('Array', 'array', 'top', 0, 1)
            self.tool('Combine', simple_tools.combine, 'top', 1, 1)
            self.tool('Shatter', simple_tools.shatter, 'top', 2, 1)
            self.tool('Show Handle', simple_tools.show_handle, 'top', 3, 1)
            self.tool('Union', simple_tools.union, 'top', 4, 1)
            self.tool('Subtract', simple_tools.subtract, 'top', 5, 1)
            self.tool('Intersect', simple_tools.intersect, 'top', 6, 1)

            
            # BOTTOM ZONE
            self.tool('Center', simple_tools.center, 'bottom', 0, 0)
            self.tool('Center V', simple_tools.center_h, 'bottom', 1, 0)
            self.tool('Center H', simple_tools.center_v, 'bottom', 2, 0)
            self.tool('Push Points', push.start, 'bottom', 3, 0)
            self.tool('Smooth Brush', 'sop_polydraw', 'bottom', 4, 0)
            self.tool('PolyDraw', 'sop_polydraw', 'bottom', 5, 0)
            self.tool('Smooth Edges', 'sop_smooth_edges', 'bottom', 6, 0)
            
            self.tool('Flatten', simple_tools.flatten, 'bottom', 0, 1)
            self.tool('Flatten V', simple_tools.flatten_v, 'bottom', 1, 1)
            self.tool('Flatten H', simple_tools.flatten_h, 'bottom', 2, 1)
            self.tool('Size Deform', 'size_deform', 'bottom', 3, 1)
            self.tool('View Deform', 'view_deform', 'bottom', 4, 1)
            self.tool('Quick Deform', 'quick_deform', 'bottom', 5, 1)
            self.tool('Ramp Deform', 'ramp_deform', 'bottom', 6, 1)
        
        def gesture_right(self):
            simple_tools.set_selection_mode(hou.geometryType.Primitives)

        def gesture_left(self):
            simple_tools.set_selection_mode(hou.geometryType.Edges)

        def gesture_bottom(self):
            simple_tools.set_selection_mode(hou.geometryType.Points)

        def gesture_top(self):
            simple_tools.set_selection_mode()

    hou.dm_menu = DM_Menu()

hou.dm_menu.start()

Edited by Alexey Vanzhula - Feb. 19, 2019 04:15:52
https://gumroad.com/alexeyvanzhula [gumroad.com]
User Avatar
Member
833 posts
Joined: Jan. 2018
Offline
Alexey, you make awesome tools and everything you do is very appreciated. I hope you will consider taking the time to add proper documentation since to this day I feel like I'm probably utilizing 10% of DM because I haven't quite been about to figure out how it all works.

I realize that your English might not be good enough for you to feel comfortable doing extensive tutorials, but if that's the case, please do consider asking someone else to do a series of tutorials for you. I think that would go a long way toward making your product a lot more popular and useful.

Thanks!
>>Kays
For my Houdini tutorials and more visit:
https://www.youtube.com/c/RightBrainedTutorials [www.youtube.com]
User Avatar
Member
538 posts
Joined: Dec. 2006
Offline
Midphase
Alexey, you make awesome tools and everything you do is very appreciated. I hope you will consider taking the time to add proper documentation since to this day I feel like I'm probably utilizing 10% of DM because I haven't quite been about to figure out how it all works.

I realize that your English might not be good enough for you to feel comfortable doing extensive tutorials, but if that's the case, please do consider asking someone else to do a series of tutorials for you. I think that would go a long way toward making your product a lot more popular and useful.

Thanks!

I'm going to record a series of tutorials in Russian and English
Edited by Alexey Vanzhula - Feb. 19, 2019 04:17:19
https://gumroad.com/alexeyvanzhula [gumroad.com]
User Avatar
Member
1265 posts
Joined: March 2014
Offline
Awesome news Alexey.
I do agree with Midphase. I think a collection of short videos showcasing individual features will go along way in helping people to understand the scope of what you have created.
Werner Ziemerink
Head of 3D
www.luma.co.za
User Avatar
Member
9 posts
Joined: Sept. 2017
Offline
Great stuff.

Direct Modeling is an awesome modeling toolset for Houdini and I love the menu system as well for packing a lot of functionality into a small space. Really looking forward to the 1.5 and 2 versions.
User Avatar
Member
21 posts
Joined: Jan. 2016
Offline
Out?
User Avatar
Member
538 posts
Joined: Dec. 2006
Offline
A little bit later. Sorry guys, have some problems with testing windows version. But almost it done.
https://gumroad.com/alexeyvanzhula [gumroad.com]
User Avatar
Member
538 posts
Joined: Dec. 2006
Offline
Good news is that it will have Modeler tool from DM 2.0.

DM 2.0 will have Soft Boolean 2.0 (with smart normals), Insert Mesh 2.0 (with smart normals) and maybe Geometry Library 2.0
https://gumroad.com/alexeyvanzhula [gumroad.com]
User Avatar
Member
21 posts
Joined: Jan. 2016
Offline
Sounds great, thanks for the quick update infos!
  • Quick Links