[Addon] Tileable Pattern

…!!! Tileable Pattern !!!..

> adds a wired square with instances for tileable pattern creation
> use the default blender scene units

#1 Update: Help Text / Camera Setup (when using Arrays)
#2 Update: fixing bugs / Optimize Join
https://drive.google.com/file/d/0B5QQIWH-54S1eDBFNUlLaXJlaHc/view?usp=sharing
You have to respect the order of use:
1 > add squares (don´t rewrite them)
2 > fill only the middle one with new geometry: join or editmode
3 > join all together (select only the middle one as active: press join)
4 > cut it out (with 3d geometry press cutout fill 3d)
5 > if needed set two array on it
6 > use camera when arrays added
7 > have fun :slight_smile:
8 > Demo Clip Version 1

Update v2 > 2.78

#Update 3 - small reorder / new panels & color managment panel to uv editor
https://drive.google.com/file/d/0B5QQIWH-54S1MTNZVHYzVFJjNmM/view?usp=sharing

#Update 4: on the way…

It has now a own TAB with separate panels.
The Steps are the same like in the previous version:

  1. add instances
  2. edit and optimize them
  3. merge all instances
  4. cutout the middle instance square (instances fill)
  5. add array modifier / apply xy resolution (dimension)
  6. add camera and light or create opengl look
  7. render > have fun :slight_smile:
    8 > Demo Clip Version 2

RefzGrid is only the Grid Referenze to see the overlapping better.
Join new objects always to the added “Add Planes or Add Curve” objects.

For Mesh:

  1. add planes > it jumps directly into editmode
    then:
  2. delete the plane if you don´t needed
  3. and add a new mesh from the insert panel
  4. the new mesh appears in each instance
    or:
  5. do not delete the plane and go to objectmode
  6. select the object you need and the middle field as active (outliner: instance fill)
  7. Now join them toghether with CTRL+J
  8. your new object appears in each instance
  9. if you don´t need the plane mesh : delete it now

This image shows how it generally works.
All editing needs to be done in the middle field

Nice image behind the link, dare you share the code also ?

Awsome, very handy for tiles in the grass.

Added the link into the first post…

@mkbreuer
Thanks but it doesn’t work.

Error:

File “…\AppData\Roaming\Blender Foundation\Blender\2.76\scripts\addons\add_tilable_instance.py”, line 110, in execute
bpy.ops.object.cutout_panels()
File “…\Program Files\Blender Foundation\blender-2.76b-windows64\blender-2.76b-windows64\2.76\scripts\modules\bpy\ops.py”, line 189, in call
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Error: Traceback (most recent call last):
File “…\AppData\Roaming\Blender Foundation\Blender\2.76\scripts\addons\add_tilable_instance.py”, line 201, in execute
bpy.context.scene.objects.active = bpy.data.objects[“Instance_Fill”]
KeyError: 'bpy_prop_collection[key]: key “Instance_Fill” not found’location: …\Program Files\Blender Foundation\blender-2.76b-windows64\blender-2.76b-windows64\2.76\scripts\modules\bpy\ops.py:189

location: <unknown location>:-1

Sorry for my bad English … is the fault of Google Translator !!! :smiley:

Tested: when I press join instances:


Traceback (most recent call last):
  File "C:\BlenderVray\2.76\scripts\addons_contrib\add_tilable_instance.py", lin
e 134, in execute
    bpy.context.scene.objects.active = bpy.data.objects["Instance_Fill"]
KeyError: 'bpy_prop_collection[key]: key "Instance_Fill" not found'

You have to respect the order of use:

1 > add squares: don´t rewrite them
2 > fill only the middle one with new geometry in editmode or join someting to it
3 > to join all together: select only the middle one as active and press join
4 > cut it out: depends to geometry (with 3d geometry press cutout fill 3d)

#Update: Help Text / Camera Setup (when using Arrays)

maybe a video tutorial?

here is a quick and dirt how to video:

I made a better one…see first post!

Can this be used to any advantage to make a checkered floor.

Yes!

Example:
you want to create a scifi floor and you have only fill the rectangle wire in fill pattern,
without overlapping to the instance panel.
Then you have to remove douple after joining the instances, before you cut it out.

Hi.
I do not know if I am doing the things well, but I get this error when I press “Add Planes” (Open Blender > delete default cube > Add Planes)

Operator: bpy.ops.object.delete(use_global=False)
Operator: bpy.ops.view3d.snap_cursor_to_center()
Operator: bpy.ops.mesh.primitive_plane_add(radius=5, view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
Operator: bpy.ops.view3d.snap_selected_to_cursor()
Operator: bpy.ops.object.editmode_toggle()
Operator: bpy.ops.mesh.subdivide(number_cuts=2)
Operator: bpy.ops.mesh.inset(thickness=0, use_individual=True)
Operator: bpy.ops.mesh.select_all(action='INVERT')
Operator: bpy.ops.mesh.delete(type='FACE')
Operator: bpy.ops.mesh.select_all(action='SELECT')
Operator: bpy.ops.object.editmode_toggle()
Operator: bpy.ops.object.select_all(action='DESELECT')
Error: Traceback (most recent call last):
  File "/home/yafu/.config/blender/2.76/scripts/addons/add_tileable_pattern.py", line 101, in execute
    bpy.context.scene.objects.active = bpy.data.objects["Instance_Planes.007"] 
KeyError: 'bpy_prop_collection[key]: key "Instance_Planes.007" not found'

location: &lt;unknown location&gt;:-1

In 2.76 and 2.75a. Kubuntu 14.04 64bits

Thx Yafu!

Update #2 is now added to the first post.
Added Video

Thank you!
It seems to be working now. I’m going to experiment and play with it.

@mkbreuer
Thanks a lot, now it works! :yes: :cool: :cool:
Best Regards. Bob

Sorry for my bad English … is the fault of Google Translator !!! :smiley:

In 2.78 when doing the cutout it do not delete the instances grid, because of that when you finish the cutout and hit for array the array don’t work properly living spaces according to the grid. Notice that if I go to edit mode after the cutout and remove the plane instances and then add the array it works the right way. Not sure if is a conflict with an existing addon but I can’t really say.



Thanks for the feedback.
I created a complett new one.
It has now a own TAB with separate panels.
Please try it!
The Steps are the same like in the previous version:

  1. add pattern
  2. edit and optimize it
  3. merge all instances
  4. cutout instances fill (middle field)
  5. add array modifier / apply xy resolution (dimension)
  6. add camera and light
  7. render
    https://drive.google.com/file/d/0B5QQIWH-54S1RGp6d2t4akIya1U/view?usp=sharing

I really like this addon. A couple of things: the latest install, doesn’t appear or behave like what’s displayed in the video tutorial. Not just you, a number of addons, sometimes just because of the complex goodness they offer, don’t always keep up with the changes made to them, or trickle down to the years old examples which no longer comport with how things are done (or not) using the most recent update. I believe the word commonly used is “deprecated”.

I like what’s possible with planes and curves. I tried using a cube in the latest iteration. I just couldn’t get it to work. Would it be possible to add an option for objects as well? Seems to me there’s a lot of potential for primitives and solids here as well.

Thanx.

@unkerjay: thx fot he feedback. More feature and a new demo will come.

But for now:
The best way to adding new objects is always to the middle field (instance fill),
where all the work for a tileable pattern needs to be done.

> in objectmode: join [ctrl+J] all needed objects with the plane
> in editmode: add every mesh you need

Do the same with curves. Therefore you can use this addon setup:

For more Meshes enable the Extra Objects Addon
http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Add_Mesh/Add_Extra

or look at meta-androcto github repository for other external addons:
https://github.com/meta-androcto/blenderpython/tree/master/scripts/addons_extern