Fractal extruder 04

FRACTAL EXTRUDER 04: A BLENDER LINDENMAYER SYSTEM OBJ BASED

LAST VERSION ( 0.4 ) tested on BLENDER 2.93
FREX_v04.zip (9.7 KB)

TUTORIAL SCENE
FREX_ROOM_01.blend (1.5 MB)

SVERCHOK SCRIPT NODE LITE VERSION
SVERCHOK_FREX.py (6.5 KB)

INTRO VIDEO:

SINTAX OVERVIEW
The ‘grammar’ need to be refined, please give me some feeds about if you can…

POSITION:

  • ‘F’ or ‘G’ → grow a segment forward

SCALE

  • ‘S’ → scale down overwrite the scale parameter in progression
  • ‘s’ → same but inverted scale

ROTATION:

  • ‘&’ ‘^’ → +X -X
  • ‘+’ ‘-’ → +Y -Y
  • ‘|’ → +180° Y
  • ‘\’ ‘/’ → +Z -Z

GENERAL RULES

  • use ‘A’ to ‘Z’ uppercase letter
  • ‘N’ is reserved for progressive index ( to use in expressions)
  • ‘a’ is reserved for general angle input
  • ‘L’ is reserved for general length input
  • use ‘2’ to ‘9’ to set an object reference
  • ‘1’ is reserved for the fractal edges

SPECIAL INSTRUCTIONS

  • ‘[’ ‘]’ → create a branch ex A:F+[FBA]+[FCA]
  • !val! → express custom rotation: +!45! → rotate by 45°
  • same for movement: F!10.5! → move forward by length 10.5
  • !*val! → multiply mode
  • ?val1;val2? is to set a random value between val1 and val2 (for both rotation and movement)
  • !#single line expression! → python eval mode, EX: !#sin(N*2)*10!

TEXT BLOCK
You can write rules in the blender text editor, just rename the text using the prefix “LSYS”
The grammar is writed in form of a python dictionary, you can write a fractal object to a text block to get a template or store a setting.


OLD STUFF

OLD VERSION ( 0.3 )
FRACTAL_EXTRUDER_03.zip (5.2 KB)

OLD LEND FILE WITH EXAMPLES ( sintax not compatile with 0.4 )
FRACTALEX_ROOM.blend (601.3 KB)

2.79 VERSION
FRACTAL_EXTRUDER_ADDON.py (8.3 KB)
(mesh tool → fractal extruder)

armature_skin
tree


FRACTAL_INSECT

20 Likes

:grin: crazy, man!

very good. Do you intend to make version 2.8?

Yes, I’ll wait for the 2.8 stable, meanwhile I’ll try to improve the code, I would like to include also some presets for organic archetype, ecc…
I’m working on a pathfinder algorithm right now…

1 Like

wow, cool! :building_construction::building_construction::building_construction:

If you find the way to convert this on a kind of sculpting brush, (for example apliying the script to the poligons selected by the brush with graduation of stregth) it would be a very interesting addon that you could sell, there is not a lot of things on bio inspired modelling on todays 3D soft.

Nice, i like the standard mathematical L-system UI…

:sunglasses: maybe you could join forces with Tissue [add-on] developer (for UI and some more)?

3 Likes

Very cool.

very interesting

Some kind of workflow, being the fractal object a polyline mesh with a skin modifier the armature is self generate…
“BLENDIGRADE” TEST:
An insect basically is a A-B-C pattern so the axiom ABC ->

blendigrade_spinetongue
tree

Then some posing with the auto IK:

Just some emissive materials and here the 100% lsystem extruded blendigrade ->

13 Likes

I LOVE L-Systems! Haven’t played with them in years, really going to have fun with this. A long time ago I tried to implement one inside of POV-Ray, which sort of worked. Kudos for bringing more organic awesomeness to Blender!

Thank you and good to know! I need some feedbacks about improvements!

Initially I tried to do somethink like that into modo, but I lacked the skin modifier!
The main concept is to get a fast way to generate Lsystem extrusion without break the direct modelling workflow, so I would keep it a modelling operator…
Since the overwriting rules are easily reusable I would try to get a preset database shared also with the animation node Lsystem generator, this is easy to obtain using text data to define axiom and rules…
So I’m going to add a load text rules button once I figured out how to do.

Yes, I think I ll add two other option:
1 translate the extrusion in a lsystem animation node setup ( and uniform the rules sintax accordingly)
2 a sort of brush to deploy the extrusion on the surface with auto remesh ( in a dyntopo sculting workflow)

2.8 version ready and seem to work fine!
I found some problems with new layer system: at moment the fractal objects ID linking is broken
I’ll fix it as soon as I understand how to do it…

0.2 release out!

Fixed 2.8 related bug
Added a obj pointer to overwrite fractal objects

I’m working to a more comfortable way to inset L-system rules and store them…

3 Likes

Hi @Rastart
Do you have a few example more for to fill in AXIOM and RULES.
I wrote an article about your addon and want to give a few more examples to get the users started. I copied already the two examples in the screenshot.

Hi! Basically the sintax is the same of the Houdini lSystem, https://www.sidefx.com/docs/houdini/nodes/sop/lsystem.html
The examples here should work and also those from other standard lSystem, once I ll get some time in the next days I ll post some other screenshots!

1 Like

Hello, I can’t use any of these 2 versions to find a plugin.

%7B%5BR8%7B5U_N%60N6VNG%25H%7D~%5DAYJ DRN%EF%BF%BD%24LRL%5BXHD4J%40)I3U~I

Ok! I ll check It soon… Once I get some time I ll put also a tutorial!

Hi @Rastart
I find this a very interesting addon and thought about it quite often.
Do you have plans to make a few more examples, or do you have plans for further development?
I think it might be a bit hard for users to get through the syntax of L-system and some examples will help.

I believe we owe gratitude to the op for his creation by looking at all the established material available for l-systems. Above is a start. If you put a search in for l-system and your software of choice, I’m sure you will find something.

Users get to do some of that lifting even if its called learning.
Robert

1 Like