Insert Block Script Block Name Conflict

Hi @tobias.stoltmann,

Can you provide a few 3dm files and instruction on how to repeat?

Thanks,

– Dale

Yes, @dale, of course I can.

File “ProjectBlock” contains 3 library parts (nuts, screw and washer). That would be something I’d use on a project and I’d assemble in advance. Of course you’d have to change the path to the “linked and embedded” files when you work on it, they are still referenced to my desktop.

When I update one of the “standard” parts (nuts, screw and washer) it’s not having any trouble to update it in file “ProjectBlock”.
When I use it in another file (let’s say the model of the real projec then) and one of the standard parts woudl get changed, I get the dialouge shown in my comment above. It wants to know what to do with the “new” block.

So to sum it up: The insert command displays the same dialogue when using nested blocks and an item inside the nested block gets updated.
I guess you’d just have to implement the solution for the -Insert command on this one as well, right?

I hope this is understandable and you are able to reconstruct the problem.

T.

ProjectBlock.3dm (283.1 KB)
SOF__Nuts__Metric__M8__ISO4032.3dm (123.0 KB)
SOF__Screws__Metric__M8x70__ISO4017.3dm (164.3 KB)
SOF__Washers__Metric__ST8 100 HV__ISO7091.3dm (44.0 KB)
FileUsed.3dm (262.0 KB)

Thanks @tobias.stoltmann. I am able to reproduce this and I have logged the issue.

https://mcneel.myjetbrains.com/youtrack/issue/RH-59783

– Dale

Thanks @dale.
Would it be possible to solve somehow without scripting, e.g. with RhinoCommon?

RH-59783 is fixed in Rhino 7 Service Release 13 Release Candidate

@dale I have a very similar issue. I am using the _-Import command in RhinoScript and it does not ask what to do with Block Name Conflicts. It just defaults to renaming the existing ones.

How can I set it to replace all existing ones?

This is what I get when import from the file dialog:

Now I want to do the same using a Script, but I want to use “Replace with imported block” for all conflicts, but cannot see any option for this. In fact I can’t even find any documentation for the import command in the RhinoScript documentation:

Is there any current way to import the blocks of one file into another using scripts without getting any windows pop up or it renaming blocks?

I have been going through all the forum posts mentioning the problem of inserting blocks from one doc into another using scripts and over the years so many people have asked for it and I just can’t find anywhere that this is properly possible. Of course Grasshopper also can’t really do this. You can do a few things with plugins, but I haven’t found a way to do this. I feel like I am running out of options on how to do this in code.

@dale I see you were literally just working on this: https://mcneel.myjetbrains.com/youtrack/issue/RH-69709/Insert-Does-Not-Offer-Options-for-Block-Conflict-Resolution

I have tried this out in the WIP and I can see the ResolveConflict Option. But which one is the option to replace blocks, ie. the middle option from the Block name conflict dialog?

I need to keep track of the existing Blocks in my script, but I can’t if they are being renamed and I can’t be sure what they are being renamed to!? I would like to just replace the blocks in the document with the ones from the file I am inserting. Is that not possible? What is the reason for doing only 2 of the 3 options?

@dale Sorry, to keep posting, but upon further testing I can say that the ResolveConflict option does not change what happens when Inserting a file with Blocks.

Can it be that the Resolve Conflict option is only for nested block warning? No matter what option I chose it always renames blocks that are already existing.

Hi @seltzdesign,

Can you provide some files and scripts, along with instructions on how I can repeat what you are seeing?

Thanks,

– Dale