Change Block Base Point without moving instances

Hi I have an already assembled building with a lot of blocks. I want to reset base points for some blocks, without moving the already assembled building. I tried two ways but both failed, with the building all messed up.

first way i tried: block edit - set base point directly.
second way: move one instance from original base point to target base point - then block edit - move geometry to origial location - done edit

both way messed up my original assembled instances. Anyway I can have all instances still in place but just move the base point to a new location within each instances? Thanks

Hello- - try:

Block Edit > move the geometry in the opposite direction of the base point move. Then set the new base point.

-Pascal

Thanks Pascal. I tied but seems like the new base point is the same point as the old base point after doing that :frowning:

Yeah, that was a completely useless idea.

-Pascal

I wrote a script that changes blocks’s base point, but keeps all instances in their original position. Add this to Rhino scripts folder and run.

Simple explanation:

  1. Select a block instance
  2. Ask user to pick a new base point
  3. Convert translation vector from instance’s to definition’s system
  4. Move defition’s geometry accordingly
  5. Move all instances of block’s definition accordingly to their position / transformation

Run outside of BlockEdit mode.
Never tested for nested blocks and other crazy stuff.
Feel free to improve this script further.

EDIT 12/05/202517:25 (some debugging)
MoveBasePoint.py (8.9 KB)


there is whole plugin for blocks which can do much more. new block edit check food4rhino