NP Station

add-ons
architecture

(Jakroval) #162

Tired of AutoCAD and Sketchup; hope to use your addon soon, but still learning blender. Will the new feather help architectural modeling? I need something that work well with imperial measurement. I like 2.8 UI, but still have issue with scaling.


(Okavango) #163

Hi @Jakroval. Yes, since this is an addon aimed at precision modelling, new features (when they get on stage) will be helpful in architecture too. Mainly those would be an extension to already present tools.

For work with imperial units, NP Station already has a display unit toggle in the options, see if those can help you with your tasks.


(Jakroval) #164

Hi Okavango, thank for your reply. I was watching blender daily by Pablo about the new grease pencil in 2.8, and I like it. I think it is useful for architectural quick visualization. It a step closer to be usable.


(LooKahs) #165

When using the point-move tool that snaps to vertexes.

Is there a way to say select a corner of one group, snap it to another corner by holding ctrl - and while doing that enter the distance you’d like to move in that precise direction? See screenshot if that helps.

I.e. that window has to be 112.5mm off the face of the wall. Normally, I’d just use the blender move command, lock it to an axis and enter the distance. But, as this is at an angle, I was wondering whether point-move could serve this purpose better provided you could enter distance as well.


(Okavango) #166

That is an interesting question. NP is not equipped to deal with such a case, but as i can see it is quite needed, for all those cases when the side of a building is not aligned with world axis.

Nb - to make your life easier, when dealing with non - aligned objects, make instanced (linked) duplicates of them somewhere in the scene, and align them with world axis. This way you can edit your objects and work with architectural tasks much easier, most of modelling tools (together with NP station) work better in aligned systems. The original objects will update just as if you edited them directly.

Now, for your question i found a trick that might help. First off, make sure you do not apply transforms to your window group, so it’s local orientation remains aligned with it’s geometry. Then, when you start the point_move command, select your starting point and hit ‘Y’ on your keyboard twice (or ‘X’ if your window’s axis are rotated) and type the desired distance. This should move the window in the desired direction.

Come to think about it, you can do this without the addon, using the standard ‘grab’ tool as well :rofl:

However, nice suggestion, it would be handy if the NP tools had that ability - designate the direction and enter the distance. Thanks!


(nBurn) #167

Exact Edit should work if you don’t mind working in “Blender units”.

If Exact Edit and Okavango’s suggestion won’t work, the super tedious way I used to do this type of operation was to snap the 3D cursor to one side of the move edge (say the red direction arrow triangle closest to the wall in your screen shot), and create a “throwaway” vertex at the other side (the red direction arrow triangle furthest from the wall). Then I would set the 3D cursor as the pivot and “scale” the throwaway vertex by a decimal value that would result in it moving to the exact location I wanted. After the scale, I would snap the geometry I wanted to move to the throwaway vertex and then delete that vertex.


(Viktor) #168

Handy add-on!

  • i would appreciate an option for automatic snapping in add-on preferences (without pressing ctrl, at least during point_move operation)
  • could you add Create float poly, f. rect. and f. box to the 3D View Add menu (Shift + A)?

(Okavango) #169

Yeah, the addon is currently not in a state for re-uploading, id needs some heavy re-factoring first. But what we can do is edit your local downloads, are you ready for some coding?

  1. In your addons folder, find the NP Station folder and open the np_point_move.py file.
    In it, you will find a section named: class NPPMPrepareContext(bpy.types.Operator):
    Find the line that goes: bpy.context.tool_settings.use_snap = False
    And change it to: bpy.context.tool_settings.use_snap = True
    If you are nit picky, in that file change all the lines with ‘CTRL+SNAP’ to ‘SNAP’ :slight_smile:

  2. This one is a bit more complex, here’s how we can do it - find and open the__init__.py file
    Before the line ‘def register():’ insert this:

class INFO_MT_NP020AddMenu(bpy.types.Menu):
    bl_idname = 'INFO_MT_NP_020_add_menu'
    bl_label = 'NP 020'
    def draw(self, context):
        layout = self.layout       
        layout.operator('object.np_020_float_poly', icon='MESH_DATA', text='float_poly')
        layout.operator('object.np_020_float_rectangle', icon='MESH_PLANE', text='float_rectangle')
        layout.operator('object.np_020_float_box', icon='MESH_CUBE', text='float_box')       
                
def NP020AddMenu(self, context):
    self.layout.menu("INFO_MT_NP_020_add_menu", icon = "PLUGIN")

And then, before the line ‘def unregister():’ insert this (copy it with the indent spaces, it has to align with the lines above it):

    bpy.types.INFO_MT_mesh_add.append(NP020AddMenu)

Let me know if that worked.


(Viktor) #170

That´s it, it works, thank you a lot


(Okavango) #171

No problem, glad it did the job.


(nBurn) #172

Hi @Okavango, I went ahead and created a mirror of the recent NP Station releases on my Github account here:

I just mirrored the releases as I have not yet found a nice way to mirror all the NP Station commits in the Blender Add-Ons Git repo.

I also did a slight update to the NP Station Pie Menu add-on, mostly just code cleanup and a check to block the Pie Menu activation if NP Station is not enabled.

@Netrieb If you do the changes to the __init__.py file Okavango mentioned in #2, make sure to also add this at the top of the “def unregister():” code block:

bpy.types.INFO_MT_mesh_add.remove(NP020AddMenu)

The top part of the unregister block should look like this when you are done:

def unregister():
    bpy.types.INFO_MT_mesh_add.remove(NP020AddMenu)
    bpy.utils.unregister_class(NP020Preferences)

(Okavango) #173

Hey @nBurn, great, thanks!

I checked it out, looks good :slight_smile:


(LooKahs) #174

Just wanted to ask if we’ll see NP Station in Blender 2.8?

:slight_smile:


(stephen_leger) #175

Hi,
Shoud we consider nBurn’s repo as official NP Station ?


(Okavango) #176

Hi @LooKahs, glad to hear you find it useful.

Unfortunately, no plans for porting yet. I still use 2.79 in my daily work and the API has not settled down yet. Besides that, the code needs some heavy rationalization beforehand, so if it is to be done with quality it is a huge task. I mentioned to the potential users in the .pdf notes not to rely heavily on post 2.79 support.


(Okavango) #177

Hi @stephen_leger,

i think yes, but the appropriate person to ask is @nBurn. If it is aligned with the version from .zip in the first post (and i believe it is), then yes.


(LooKahs) #178

Super useful!

That’s understandable, and either way a big thanks for all the work so far :slight_smile:


(LooKahs) #179

I meant to ask. Are there any similar alternatives to NP Station? whether free or paid.

It baffles me as to why there isn’t a default Blender solution to this, as the ability to move object by snapping to a specified vertex to me is invaluable and time-saving when dealing with lots of groups/components.


(Dimitar) #180

there is Snap Utilities addon but the results I have been getting with it are quite mixed, it randomly wants to snap to grid or anything else than what i need it to snap. Also, it’s more of an edit-mode addon than object mode.


(nBurn) #181

Hi @stephen_leger and @Okavango,

I should have made it clearer on my repo’s readme page, but the “official” version was the one in user-contrib. The purpose of my repo was to provide an easily downloadable / installable mirror of that version (the pie menu is an exception, but I digress). There are actually several updates in the user-contrib version that I haven’t copied over to my repo yet. I’m not sure what was changed (someone else did the updates), but at a quick glance it’s looks like mostly minor code formatting.

As for a 2.80 update, the Python API should be mostly stable now that 2.80 is now in beta. I haven’t looked into updating anything yet as my schedule has been erratic, but I agree with Okavango’s assessment: to do a proper update the code will need a lot of scrutiny and heavy refactoring first. I think this would likely save a lot of misery in the long run as there was a huge number of changes made to Blender’s Python API for 2.80.