Add feature to existing addon - pcoll, preview_collections

I am looking for a Python / Blender 2.8 API developer to add a feature to an existing addon. See more details and code example below.

  • Type of project: Python / Blender 2.8 API
  • Who am I: I am Robert (aka Peetie), running blender-addons.org about free addons and also sell some products. I work partime (support agent for the Operating system you are using) and the hours I’ve left I spend nearly all time on Blender.
  • Experience level you need: See code example below. Do you have experience with that?
  • Deadline: I think for an experience developer it will take a few hours work to max two days. I hope to get this done within one or two weeks.
  • What does it need to do: At the moment my addon shows small previews, like icons for buttons in a dropdown. What I want is the big previews like we see in addons like Welder, Simple Asset Management, Asset Management, etc. Once the user made his choice (selecting preview), some assets need to be appended from corresponding blend file. Those are always the same kind of assets, but they have variations. Therefore when there is already such assets in the scene, they need to be removed before appending new assets. (So it is replacing, same names). I expect it to work as described without memory leaks or significant performance issues for Blender.
  • Budget: I can spend $150,- (Plus, I can give you the addon with all feature updates. It will contain around 100 presets/scenes).

I can do it myself, but it would take me to long, because I have not enough experience in coding. Managed to bring the addon that far, but this part is somehow to mind-boggling for me. And I hope that this addon will get that feature. I work with that addon every day myself and this is a feature I have in mind for a long time.

Probably is like a kind of code you see below.

You can contact me here (private message or reply on post).

def generate_previews():
    # We are accessing all of the information that we generated in the register function below
    pcoll = preview_collections["thumbnail_previews"]
    image_location = pcoll.images_location
    VALID_EXTENSIONS = ('.png', '.jpg', '.jpeg')
    
    enum_items = []
    
    # Generate the thumbnails
    for i, image in enumerate(os.listdir(image_location)):
        if image.endswith(VALID_EXTENSIONS):
            filepath = os.path.join(image_location, image)
            thumb = pcoll.load(filepath, filepath, 'IMAGE')
            enum_items.append((image, image, "", thumb.icon_id, i))
            
    return enum_items 

bpy.types.Scene.welddrawing=bpy.props.BoolProperty(
    name="welddrawing", description="welddrawing", default=False)
cyclic=True
preview_collections = {}
pcoll = bpy.utils.previews.new()
images_path = pcoll.images_location = os.path.join(os.path.dirname(__file__), "welder_images")
pcoll.images_location = bpy.path.abspath(images_path)
preview_collections["thumbnail_previews"] = pcoll
bpy.types.Scene.my_thumbnails = EnumProperty(
    items=generate_previews(),
    )

@frank997
Thanks for replying. Yesterday a developer contacted me and we are working on it. But as long as it is not finished (you never know what can happen), I wait with closing the topic. If need I come back to you, but at the moment it seems it will be all sorted.

Regards,
Robert

This topic was automatically closed after 90 days. New replies are no longer allowed.