PDA

View Full Version : DWG/DXF-exporter - release (2.49)



migius
25-Sep-08, 21:16
http://wiki.blender.org/uploads/8/80/Manual-Exporter-DXF-gui127.png


The most recent version of the exporter and the documentation are located on BlenderWiki (http://wiki.blender.org/index.php/Extensions:2.4/Py/Scripts/Export/DXF)

If you want to support me - become a subscriber and get the Personal Edition (http://www.cad4arch.com/dxf_exporter/)

For Blender 2.5+ you will need another version: look there (http://blenderartists.org/forum/showthread.php?209700)


__________________________________________

2008.11.26:
inspired by Yorik's 2d-profile exporter script (http://blenderartists.org/forum/showthread.php?t=135440) i went back to Stani's Python library to generate DXF files (http://pypi.python.org/pypi/SDXF/1.1) and adopt it to work in Blender today. It is a first draft - don't await to much! There are only mesh and curves to LINEs support now. GUI and 3DFACE support are planed. I need your feedback.
migius

PLEASE post your questions and bug reports in this thread.

Edit: updated version 1.25beta needs intensive testing before integration in release 2.48
Edit: updated version 1.27beta 2008.10.07
Edit: updated version 1.34 - 2009.06.08
Edit: updated version 1.37 - 2010.06.23

yorik
25-Sep-08, 21:39
Cool, I think this is a much better way than mine... You're the man, migius! Thanks!

migius
25-Sep-08, 21:59
Cool, I think this is a much better way than mine... You're the man, migius! Thanks!
you are welcome

please download again - updated version seams to work correct for transformed objects (matrix)

WiKKiDWidgets
25-Sep-08, 22:35
I just followed this over from Yorik's original post. I downloaded the script linked from here and I'm not sure I'm follwoing you two. Is this supposed to export a DXF file? I looked in the script and it looks (to my untrained Python eyes) like a python Library file inside. I'm baffled here, help me out.

migius
25-Sep-08, 23:03
hi WiKKiDWidgets,
current version can export selected objects: mesh(edges) and curves(not nurbs) to LINEs.
load it into blender-text-window and start with alt-P,
or copy the script into blender scripts folder and start through files-export-autodesk DXF

This early version has no UI, no dialogbox to define output name, the script writes into current project directory: "blend_test.dxf"

The output is in dxf-r9 format and should be readable in any CAD app.

i hope it helps
migius

WiKKiDWidgets
25-Sep-08, 23:08
Ahhh, Okies. hehe, I just dropped in in the scripts folder and ran Autodesk DXF. hehe, no wonder it didn't do anything dicernable. ok, will test here in a few minutes....

migius
25-Sep-08, 23:23
WiKKiDWidgets,
please download again, i put there my blend file for testing.
DXF file produced from it loads well into autocad and can be entirely reimported to Blender (with DXF-Importer python script)
I am curious, what is different with your model?

WiKKiDWidgets
25-Sep-08, 23:26
OK, well its running. I can see the output of the script in the Output window. what do you mean by 'current Project Directory'. I am looking for blend_test.dxf all over and can't find it.

migius
25-Sep-08, 23:34
OK, well its running. I can see the output of the script in the Output window. what do you mean by 'current Project Directory'. I am looking for blend_test.dxf all over and can't find it.
'current Project Directory' is where your blend.file is started from.

I've added finish-message-box for better feedback, (download again, hehe)

WiKKiDWidgets
25-Sep-08, 23:39
YEEEEHAAAA!!!

Okies, I downloaded your zip again, and used your test.blend. I exported the squiggley lines and it opened in Sheetcam PERFECTLY!

WiKKiDWidgets
25-Sep-08, 23:41
omg, I just realized you did standard lines instead of Polylines or LWPolylines, groovy man, groovy. Are you going to add some Dialog to it to make it a bit more freindly?

migius
25-Sep-08, 23:55
omg, I just realized you did standard lines instead of Polylines or LWPolylines, groovy man, groovy. Are you going to add some Dialog to it to make it a bit more freindly?
nice to see you happy. Make me happy too and send some pictures from your models exported to Sheetcam

The exporter has good chance to become full service GUI (the same standard like the DXF importer)

WiKKiDWidgets
25-Sep-08, 23:56
Just tested it using one of my models that created for cutting out on my CNC machine and it worked perfectly. Way to go Migius and Yorik!!

migius
28-Sep-08, 07:40
updated version 1.25beta needs intensive testing before integration in release 2.48
see the first post in thread
PLEASE TEST IT and post here your bug reports

WiKKiDWidgets
28-Sep-08, 08:07
Roger that....

WiKKiDWidgets
28-Sep-08, 09:06
Ok Migius!
All the Export methods appear to work great. I can open them up in all my other CAD/CAM programs. I really like the "Flat to 3D-View" Although, I would rename the function "3D-View to Flat" because that is a more accurate description of what is occuring.

The Import function is not doing so well. I can import many other DXF files using this script, but if I try to Import the DXF I just Exported, I get the following error:
Import DXF to Blender *** START ***
Getting settings...
start reading DXF file: C:\Users\Master\Documents\3D\WiKKiD_Widgets\Concep tual
\ExportTest.dxf.
finished reading DXF file in 0.0552 sec.
Traceback (most recent call last):
File "<string>", line 4048, in bevent
File "<string>", line 2962, in main
File "<string>", line 3100, in drawEntities
File "<string>", line 3192, in drawer
File "<string>", line 3249, in setObjectProperties
File "<string>", line 3293, in setMaterial_from
File "<string>", line 2660, in __call__
File "<string>", line 2672, in add
KeyError: '0'
I can Import the test DXF I Exported using the DXF Import Script that comes with blender. Although, the lines are not continuous. Each polyline is its own mesh.

migius
28-Sep-08, 09:11
Ok Migius!
All the Export methods appear to work great. I can open them up in all my other CAD/CAM programs. I really like the "Flat to 3D-View" Although, I would rename the function "3D-View to Flat" because that is a more accurate description of what is occuring.good point, i will correct it



The Import function is not doing so well. I can import many other DXF files using this script, but if I try to Import the DXF I just Exported, I get the following error: thanks, i will check it too

WiKKiDWidgets
28-Sep-08, 09:47
Go Migius! Go Migius Go Migius!
http://www.wikkidwidgets.com/images/cheerleader8.gif

WiKKiDWidgets
28-Sep-08, 12:24
I was using an older version of the Import DXF script. Current version: 1.12 - 2008.08.03 works perfectly!

:D

studioa
28-Sep-08, 15:53
Migius, I've tested the exporter for one of architectural projects and it works well. The .blend file was 65 mb and the exported .dxf was 84 mb. I opened with a different 3d application, and as far as I've seen it was ok. If I find any issues I'll mention them here.
I'll try the "flat" option and see how that works. That will be very helpful if for architectural models, so for a view (like orthographic view of a facade) to be exported as 2D, then tweaked and finally be part of construction documents. Thanks for your work! _a_

migius
28-Sep-08, 16:12
Migius, I've tested the exporter for one of architectural projects and it works well. The .blend file was 65 mb and the exported .dxf was 84 mb. I opened with a different 3d application, and as far as I've seen it was ok. If I find any issues I'll mention them here.
hi, thank you for your feedback. Just curious, how long took it with 65 mb blend model?


I'll try the "flat" option and see how that works. That will be very helpful if for architectural models, so for a view (like orthographic view of a facade) to be exported as 2D, then tweaked and finally be part of construction documents. Thanks for your work!
Unfortunately "3D-View to Flat" cant remove hidden geometry automatic yet. I will try to implement such routine if many people interest.
Note: there is a similar functionality in pantograph plug-in (http://blenderartists.org/forum/showthread.php?t=118453)

studioa
29-Sep-08, 06:45
hi, thank you for your feedback. Just curious, how long took it with 65 mb blend model?

couple minutes, maybe 7 or so, but not exagerated. I'm running other programs at the same time, so wouldn't be a benchmark (this was on a laptop dual core intel 2ghz/4mb cash level two). the bottom line is that the exporter works as expected!!! -- great "gauss" work!



Unfortunately "3D-View to Flat" cant remove hidden geometry automatic yet. I will try to implement such routine if many people interest.
Note: there is a similar functionality in pantograph plug-in (http://blenderartists.org/forum/showthread.php?t=118453)

I exported as 3D-view to flat, yes it is not removing the hidden lines. i opened the file in SolidEdge 2D and yes, lines are overlapped. if you would implement that functionality, then is going to be a HIT!!! really nice work.

I haven't tried pantograph, I downloaded a while ago, but did not have the time to jump in.

migius
29-Sep-08, 08:25
I haven't tried pantograph, I downloaded a while ago, but did not have the time to jump in.
I haven't tried pantograph till now, only read reports on his site. There are some problems with installation on win, and it is not bugs free. It seams, the author has no much time for further developing (has full time job yet).
Yesterday i've been looking through his code, and I think I could try to implement some of your code in the exporter, because of limitation in DXF-format it could never be so good as SVG output.

I will put it on my todo-list, eventually as part of upcoming blender foundation open project (architecture visualization).

Other way to speed up the developing is direct sponsoring/donating the developer (this case its me :)). If you interested to have enhancement in this exporter for better match your commercial purposes, don't hesitance to contact me.

migius

yorik
02-Oct-08, 10:48
Hey Migius, you will continue to use sdxf, right? I'm using it too for freecad, I think we could make a couple of enhancements to it that would serve all projects (exporting correct polylines, etc)... Unfortunately I don't have all your knowledge of the dxf format, so I'm struggling a bit with all the versions stuff, but I might be able to put some new things. For example I'm putting now a convertor that takes rgb color and converts to autocad color.
The bore is that you must test your dxf files in a lot of applications to make sure it is well written... it is crazy how that format is implemented differently by each app...

migius
02-Oct-08, 16:12
Hey Migius, you will continue to use sdxf, right? I'm using it too for freecad, I think we could make a couple of enhancements to it that would serve all projects (exporting correct polylines, etc)...
Bad news: sdxf library supports only DXF-r9, an archaic specification. The most popular DXF version is r12.
Good news: sdxf code can be easily rewritten to r12 :)
Bad news: there are many other official versions beside r12 and each needs something different service.
Good news: we have Python on board :)


Unfortunately I don't have all your knowledge of the dxf format, so I'm struggling a bit with all the versions stuff, but I might be able to put some new things. For example I'm putting now a convertor that takes rgb color and converts to autocad color.Have you reverted the dxfColorMap.py from blender scripts folder?


The bore is that you must test your dxf files in a lot of applications to make sure it is well written... it is crazy how that format is implemented differently by each app...Thats right, too many different implementations.
But i dont care about it - i do compare only with DXF specification. I don't know more rigorous importer than autocad built-in one. The best test is the import->export loop through autocad.

FreeCAD is cool, keep it on, easy to share code with blender (both GPL)

yorik
02-Oct-08, 19:30
I found a table of rgb values of all autocad color index, and I made a simple function to map rgb values to the closest ACI color. Now you can create entities giving an int or a (r,g,b) tuple for the color... The updated sdxf.py (v1.1.1) is here:
http://yorik.orgfree.com/scripts/sdxf.py
Would be cool to upgrade it a bit, though. I'll dig more into the dxf reference...

migius
03-Oct-08, 05:57
I found a table of rgb values of all autocad color index, and I made a simple function to map rgb values to the closest ACI color. Now you can create entities giving an int or a (r,g,b) tuple for the color... The updated sdxf.py (v1.1.1) is here:
http://yorik.orgfree.com/scripts/sdxf.py
Would be cool to upgrade it a bit, though. I'll dig more into the dxf reference...
Thank you for update sdxf, although with dxfColorMap.py i meant, there is such color converting table already in blender. It was done by Kitsu for his first release of DXF-Importer (probably based on some code from Stani). I'd suggest to leave this dictionary as extern module cause it is used by both scripts: importer and exporter.

The current DXF support in blender has some annoying limitations at big models: dramatic performance decrease and memory limits due to data virtualisation. I am preparing a paper for the conference about this issues and will present ideas to make things working better.

Yorik, I hope to meet you on the conference.

yorik
03-Oct-08, 08:12
Oh ho, I hadn't looked at the dxfColorMap... I'll try to use it as you suggest, you're right, it would be much better. Too bad I won't be able go to the conference :( good luck with your paper, though! It looks super interesting. You know I used the importdxf modules that Kitsu and you coded for importing dxf in freecad? I find that very cool, "generic" piece of code being used in several projects... This is something that could be carried on much further one of these days...
Okay, I'll adapt the sdxf to use dxfColorMap then.
Cheers
Yorik

abelabel
04-Oct-08, 16:20
I did some tests using the "view to flat" option and the exported dxf files show perfectly in Qcad. Great work! :)



Unfortunately "3D-View to Flat" cant remove hidden geometry automatic yet. I will try to implement such routine if many people interest.

Consider me interested!

Do you expect that this script and Yorik's section script will eventually merge, so that sections with projections and hidden lines will become possible?

yorik
04-Oct-08, 16:42
Actually maybe the best would be a separated script? So 1) you extract the sections, 2) you extract the views and 3) you export? Alxarch was also interested in coding such a "hidden-line" view generator...

migius
05-Oct-08, 03:31
Actually maybe the best would be a separated script? So 1) you extract the sections, 2) you extract the views and 3) you export? Alxarch was also interested in coding such a "hidden-line" view generator...
Yes, these functions should be separated in individual extern modules, although it needs proper accessibility concept, so the >direct< export of profiles/flat views stays as option. Direct export has a few essential advantages for jobs with geometry-reach scenes!
At first I will separate r12-updated sdxf code form exporter script due its usability in feecad.

something curious: i was working on your 2d-profile script to make it working with any-oriented/parented objects and with optional polygon-curves output. Just finished it and found the version from Alxarch on your site - almost the same approach!
My version writes the output to >one< mesh-object (optionally a curve-object) positioned and scaled according cutting-object. The idea was: to become ready-for-export >well scaled< flat panel with desired section view. After reseting its transform-matrix it will automatic move to (0,0,0).

karpov
05-Oct-08, 08:41
hi Migius,

working out of the box ! ( file open with Progecad )


but... the result can't be imported by your import script :)



DXF-Importer *** start ***

Standard Mode: active
reading file: /home/milovann/Bureau/parlange02.dxf.
reading finished in 1.6333 sec.
found table:view
deb:getBlocksmap: layersmap= {'PYDXF': Layer: name - PYDXF, color - 7}
Traceback (most recent call last):
File "<string>", line 5842, in bevent
File "<string>", line 4221, in main
File "<string>", line 4418, in drawEntities
File "<string>", line 4461, in drawer
KeyError: '0'
here is the file : http://www.yanatchkov.com/parlange01.dxf.zip

migius
05-Oct-08, 13:10
hi karpov, probably you are using an older importer version. The current version had no problems with this DXF file:

DXF-Importer v1.12 - 2008.08.03 by migius *** start ***

Standard Mode: active
reading file: D:\..\_bugreport081005\parlange01.dxf.
reading finished in 4.7721 sec.
found table:view
1 objects imported from model space in 295.3463 sec. -----DONE-----
DXF-Importer *** exit ***

karpov
05-Oct-08, 13:39
hi karpov, probably you are using an older importer version.

you're too fast ;)

sorry.

migius
07-Oct-08, 17:31
export_dxf.py update v.1.27beta 2008.10.07
- exclude Stani's DXF-Library to extern module dxfLibrary.py
- add "Hidden-Mode" substitut: back-faces removal
- add support for mesh ->POLYFACE
- optimized code for "Flat" procedure

hi Yorik,
Stani's sdxf.py is now /bpymodules/dxfLibrary.py :)
update v1.27 - 2008.10.07
- beautifying output code: keys whitespace prefix
- refactoring DXF-strings format: NewLine moved to the end of
- modif POLYLINE to support POLYFACE

yorik
15-Oct-08, 14:39
Perfect work, as always Migius! I'm adapting the freecad dxf export script to use your revamped dxfLibrary... Thanks a lot for that!

migius
15-Oct-08, 15:48
Perfect work, as always Migius! I'm adapting the freecad dxf export script to use your revamped dxfLibrary... Thanks a lot for that!
All credits for you: your (working!) profile-exporter was the only reason for me to start working on DXF-exporter. It was the first time i saw practical usage for DXF export at all. Thanks!

Support for materials->colors is planed for the next update. Have you implemented it in sdxf already?

yorik
16-Oct-08, 11:30
Hi migius,
I got the following error while using the script, same error for several blend files:
File "/home/yorik/.blender/scripts/export_dxf.py", line 221, in exportMesh
points = [ me_verts[key].co[:3] for key in e.key]
IndexError: list index out of range

in fact, me_verts is an empty array in all tests I did, but the key has always more than one value, for ex: e = [MEdge (1 0) 0 0], me_verts = [], e.key = (0, 1)


for material colors i did it in the export script itself (used dxfColorMap), so the dxfLibrary stays independent of other files... seemed better to me, what do you think?

Ah, the freecad dxf export script is now working fine, thanks to your lib! Good work at upgrading all this, specially the polyline stuff!

migius
16-Oct-08, 18:36
same error for several blend files:
me_verts is an empty array in all tests I did, but the key has always more than one value, for ex: e = [MEdge (1 0) 0 0], me_verts = [], e.key = (0, 1)
how is it possible: mesh with edges/faces but with no vertices?
Could you send me an example blend file?


for material colors i did it in the export script itself (used dxfColorMap), so the dxfLibrary stays independent of other files... seemed better to me, what do you think? it is ok for me.

yorik
16-Oct-08, 21:57
It does like that with any shape... Check this one for example:
http://yorik.orgfree.com/archive/test-shapes.blend
It looks to me that the problem is at line 156... me.verts is a MVertSeq, and me_verts is an empty array...
I tried changing that line for this:

me_verts=[]
for v in me.verts: me_verts.append(v)
and it works... Maybe that MVertSeq type cannot be copied to a list? The strange thing is that it worked for you and not for me?? I used a svn version compiled today, and standard python that comes with ubuntu... Would it be different than yours?

dfelinto
16-Oct-08, 22:47
Hi,
this is a great work.

I'm testing it, and i will try to give more feedback.

For now, I would like to say that the HiddenLine doesn't look that is working.
(in update v1.27 - 2008.10.07).

I did the simple test ever, cubes in front of cubes.
Am I missing anything here?

edit:
other "issues" do far:
- The perspective "camera" doesnt work, it also export isometric views (what I dont really mind, but can be a good tip in the documentation)
- the clipping distance (from a isometric camera) has no effect. I was wondering if it can be supported to produce sliced views.

Great Work !

migius
17-Oct-08, 06:38
For now, I would like to say that the HiddenLine doesn't look that is working. (in update v1.27 - 2008.10.07). I did the simple test ever, cubes in front of cubes. Am I missing anything here?
The HiddenLine option is WIP, currently only filters out back-faces.
Only ortho 3d-view is supported (it ignores active camera).

Alxarch and me are working on stronger hidden-line algorithm: similar functionality to Pantograph script, but without dependences to non-GPL libraries.
Planed (long term) features:
- camera support: ortho and perspective
- clipping distance (sectional view)
- projection scale
- shadows (self/fall)
- transparency
- fill-materials
- line style manager
- vector output: DXF, SVG, HPGL

migius
18-Oct-08, 08:48
It does like that with any shape... Check this one for example:
http://yorik.orgfree.com/archive/test-shapes.blend
It looks to me that the problem is at line 156... me.verts is a MVertSeq, and me_verts is an empty array...
I tried changing that line for this:

me_verts=[]
for v in me.verts: me_verts.append(v)and it works... Maybe that MVertSeq type cannot be copied to a list? The strange thing is that it worked for you and not for me?? I used a svn version compiled today, and standard python that comes with ubuntu... Would it be different than yours?
hi Yorik,
really strange. Your blend file works here (winXP). The issue is: not to work on original mesh_vertices, but on their temporary copies (=PVerts). So your code is not exactly what we need. Eventually try this (both work on winXP):
for v in me.verts: me_verts.append(Blender.Mesh.MVert(v.co))read also PyAPI doc: Mesh.MVert: "vlist = m.verts[:] # slice operation returns PVerts"

migius

yorik
18-Oct-08, 23:39
Okay, that last line works... But I don't understand why the normal way doesn't work on my system... If I do this, the active object being the default cube:

scn=Scene.GetCurrent()
obj=scn.getActiveObject()
me=obj.getData(mesh=True)
v1=me.verts[0]
cp=me.verts[:]v1 is a vert, but cp is an empty list... Do you think this would be a bug? Would be nice if someone else using linux could test this too...

migius
19-Oct-08, 14:08
It looks like a bug. Seems platform dependent.
Today on irc-#blendercoders someone reported about problem with non-compatible ubuntu's python binaries (to other platforms).

Rickyx
11-Nov-08, 18:11
Hi mingius,

it would be possible to add the option to split exported dxf in layers with the name of objects?
I think it can be useful to help removing hidden line and to have a better control.

Thank you for your work,
Ricky.

migius
12-Nov-08, 05:53
hi Ricky,
this feature is on todo list for the next release. Also another parameters will be supported: material, color, group...
Work on hidden line mode goes on, more details here: http://blenderartists.org/forum/showthread.php?t=139517

stani
02-Dec-08, 10:37
Hi, nice to see my child SDXF growning up by your help... I'd like to do a round up of all contributions in a new release. Besides Blender some more people seam to discover sdxf, such as jewel designers:
http://www.kellbot.com/sdxf-python-library-for-dxf/

...architects:
http://www.elstudio.nl/ELstudio_files/Elstudio_rubix.htm

...and even musicians

I have used myself sdxf heavily in production at architecture offices. I have extended it so that it could generate DWG files (only tested on Windows) and support external references in AutoCAD.

So maybe we can put our heads together (irc, real life, ...) and drum up a new release of SDXF. I'd like also to get it into Debian & Ubuntu, as I did with Phatch (http://photobatch.stani.be) and SPE (http://pythonide.stani.be).

Warm regards,
Stani

yorik
02-Dec-08, 11:11
wow... dwg support is *totally* amazing!

migius
02-Dec-08, 17:36
hi, i must take a break, i am very busy with other things now. (till the end of december)

steeve
11-Dec-08, 18:55
Can anyone shed some light...
I can open the dxf output from this exporter beautifully with all the dxf opening apps I have, except for one (the most important for me)...Cycas

Cycas importer supports up to acad 2000 ascii dxf. If I open the dxf with say Progecad and re-export, Cycas opens it just fine. Mostly there is no problem importing dxf into Cycas.

Any ideas??

migius
12-Dec-08, 01:16
Can anyone shed some light...
I can open the dxf output from this exporter beautifully with all the dxf opening apps I have, except for one (the most important for me)...Cycas
Cycas importer supports up to acad 2000 ascii dxf. If I open the dxf with say Progecad and re-export, Cycas opens it just fine. Mostly there is no problem importing dxf into Cycas.

hi Steeve, I dont know Cycas. DXF-exporter supports only DXF-r12 format.
Probably Cycas supports *only* acad 2000 format. Have you tried to import dxf-r12 files from Progecad? If it works, then blender exporter should work too.

rocketship
12-Dec-08, 12:11
Steeve,

This is a little off-topic, but how do you like Cycas? I've run across it in the eternal search for a Linux CAD, but never spent much time with it - I think I was looking for something that could import-export to Blender better.

cheers,
RS

steeve
12-Dec-08, 14:16
Hi Migius

Yes cycas does import r12 dxf from proge.

Also imports standard dxf output from blender.

This may be interesting to you:

By comparing dxf files, the problem lies in the EXTMIN and EXTMAX tables. For example, if I replace those tables in a dxf from your script with tables from proge dxf, voila!
Even better, if I delete the tables altogether, voila! cycas will open the files

I see that the dxf from standard blender exporter has no EXTMIN or EXTMAX yet they work fine.

Food for thought.

Anyway I am not meant to be troubling you with this now...you are busy!

steeve
12-Dec-08, 14:48
Hi RS

Cycas is my No 1 app for architectural work. I find it excellent as a solid, reliable workhorse for producing 3d arch models, the necessary 2d working drawings from those models and also fine quality 3d renderings. And the linux thing of course. It runs solidly on XP too.

The UI is great. Amazingly clear and uncluttered and easy to use. Of course, there is a learning curve, but no more than with any other app...the cycas approach is a little different, unique I would say.

Development is going on, and new good features appear from time to time.

As a general 3d modeler, it has limitations, but as an specifically archi modeler, I think it is great. Walls have special wall properties and can be treated almost like lines in 2d cad...ie, joined, trimmed, extended, attached, etc. Also made to extend up to roof planes. Also easy window and door creation. Some automatic procedures like window/door frames, stairs, beams, pillars.

I interface cycas with blender a lot. At this point, cycas has no real time rotation or pan function. So if I'm building something in cycas, I sometimes export to blender for real time visualisation. Usually as 3ds. 3ds will transfer materials as well. Then set up some layer management in Blender. As the model develops, new or edited parts can be sent over to blender. The great thing is that if I want to do some editing or constuction in blender, no problem exporting the part back to cycas.

Then when it comes to render time, I can choose whether to use blender or cycas which has a really quick and easy native interface with povray.

So far I have not succeeded getting Migius' great dxf importer to work on dxfs from Cycas. I think it's a version conflict thing.

Yeah I also did the cad on linux search. Among cad apps on linux, cycas rates high. For me it rates high anyway.

Visit the cycas forum.

Steve

PS I don't have shares in cycas!!

rocketship
12-Dec-08, 14:59
Steeve,

Good to know - I'll take another look at it!

RS

migius
12-Dec-08, 18:36
By comparing dxf files, the problem lies in the EXTMIN and EXTMAX tables. For example, if I replace those tables in a dxf from your script with tables from proge dxf, voila!
Supposedly Cycas cant handle extmin and extmax both equal (0.0,0.0).
It should work after change line 555 in dxfLibrary.py, to:

def __init__(self,insbase=(0.0,0.0,0.0),extmin=(0.0,0. 0),extmax=(1.0,1.0),

steeve
13-Dec-08, 12:41
Thanks for that Migius, but no luck.
It seems cycas doesn't mind extmin extmax both being zero, but rather it requires a z value also

ie extmin=(0.0,0.0,0.0),extmax=(0.0,0.0,0.0) works, but
extmin=(0.0,0.0),extmax=(0.0,0.0) doesn't

I changed line 555 to read
def __init__(self,insbase=(0.0,0.0,0.0),extmin=(0.0,0. 0,0.0),extmax=(0.0,0.0,0.0),

works perfectly now!

thanks and thanks

Steve

steeve
13-Dec-08, 12:52
RS

Let me know how it goes.
The first time I looked at it I didn't think it seemed like much. The documentation,website etc is quite understated and you really need to work with it a bit to see it's full potential.

S

migius
13-Dec-08, 15:01
I changed line 555 to read
def __init__(self,insbase=(0.0,0.0,0.0),extmin=(0.0,0. 0,0.0),extmax=(0.0,0.0,0.0),
works perfectly now!

thanks Steeve, i will update dxfLibrary.py in SVN-trunk and blenderWiki

steeve
14-Dec-08, 14:18
Thanks Migius!!

yorik
27-Dec-08, 19:36
Hi Migius,
I made a small alteration to the dxfLibrary.py I use in freecad... I post it here in case you want to add it to the one you use in Blender. It allows to create polylines with curved segments. To use it, you must provide, together with the array of polyline points, another array, with same length, containing bulge values for each vertex.
Not sur if it's of great use to you, but it might be cool to keep dxfLibrary the same between the two apps, usually I always sync with yours...

Here it goes, just 3 lines changed:



299c299
< def __init__(self,points,org_point=[0,0,0],flag=0,width=None,bulges=None,**common):
---
> def __init__(self,points,org_point=[0,0,0],flag=0,width=None,**common):
310d309
< self.bulges=bulges
326d324
< if self.bulges: result+=' 42\n%s\n' %self.bulges[self.points.index(point)]Cheers
Yorik

migius
28-Dec-08, 18:50
... to create polylines with curved segments...
Not sur if it's of great use to you, but it might be cool to keep dxfLibrary the same between the two apps, usually I always sync with yours...
Hi Yorik, it is a good idea, i will sync it with blender part.
At the moment i don't need bulge parameter in dxf-exporter, because there are no circle arcs in Blender. The circle-like Bezier-curve could be easier converted to polyline-spline than approximated into polyline-arcs.
In relation to POLYLINE format, I'd prefer a more dxf-similar structure for input points[].
3d-polyline(flag==8) vertices look like [x, y, z],
but 2d-(flat)-polyline vertices have additional parameters

vertex=[x, y, z, width_start=None, width_end=None, bulge=0]
class PolyLine(_Entity):
def __init__(self,points,org_point=[0,0,0],flag=0,width=None,**common):
#width = number, or width = list [width_start=None, width_end=None]
#for 2d-polyline: points = [ [x, y, z, width_start=None, width_end=None, bulge=0 or None], ...]
#for 3d-polyline: points = [ [x, y, z], ...]
#for polyface: points = [points_list, faces_list]
_Entity.__init__(self,**common)
self.points=points
self.org_point=org_point
self.flag=flag
if self.flag & POLYFACE_MESH:
self.polyface=True
self.points=points[0]
self.faces=points[1]
self.p_count=len(self.points)
self.f_count=len(self.faces)
elif not self.flag & POLYLINE_3D:
self.polyline2d = True
if width:
if type(width)!='list':
width=[width,width]
self.width=width

def __str__(self):
result= ' 0\nPOLYLINE\n%s 70\n%s\n' %(self._common(),self.flag)
#print 'deb: self._common()', self._common() #----------
result+=' 66\n1\n'
result+='%s\n' %_point(self.org_point)
if self.polyface:
result+=' 71\n%s\n' %self.p_count
result+=' 72\n%s\n' %self.f_count
elif self.polyline2d:
if self.width: result+=' 40\n%s\n 41\n%s\n' %(self.width[0],self.width[1])
for point in self.points:
result+=' 0\nVERTEX\n'
result+=' 8\n%s\n' %self.layer
result+='%s\n' %_point(point[0:2])
if self.polyface:
result+=' 70\n192\n'
elif self.polyline2d:
if len(point)>4:
width1, width2 = point[3], point[4]
if width1!=None: result+=' 40\n%s\n' %width1
if width2!=None: result+=' 41\n%s\n' %width2
if len(point)==6:
bulge = point[5]
if bulge: result+=' 42\n%s\n' %bulge
for face in self.faces:
result+=' 0\nVERTEX\n'
result+=' 8\n%s\n' %self.layer
result+='%s\n' %_point(self.org_point)
result+=' 70\n128\n'
result+=' 71\n%s\n' %face[0]
result+=' 72\n%s\n' %face[1]
result+=' 73\n%s\n' %face[2]
if len(face)==4: result+=' 74\n%s\n' %face[3]
result+=' 0\nSEQEND\n'
result+=' 8\n%s\n' %self.layer
return result
let me know, if it works for freecad.

yorik
08-Jan-09, 08:54
Hi Migius
You are right, this is a much better way. I adapted my copy with your code above, works perfectly.
Cheers
Yorik

migius
24-Apr-09, 04:53
DXF-Exporter: updated version v1.29 - 2008.04.11 to get from here (http://wiki.blender.org/index.php/Extensions:Py/Scripts/Manual/Export/DXF):
- added support for DWG format - the code/idea is come from Stani

tehquickness
26-Apr-09, 13:35
I am running in to this error when I try to run the code.


DXF-Export v1.29 - 2009.04.11 -----------START-----------


DXF-Export v1.27beta - 2008.10.07 -----------------------
Traceback (most recent call last):
File "/home/tehquickness/.blender/scripts/blender/export_dxf.py", line 391, in dxf_export_ui
if sel_group: do_export(sel_group, filepath)
File "/home/tehquickness/.blender/scripts/blender/export_dxf.py", line 299, in do_export
entities = exportMesh(ob, mx, mx_n)
File "/home/tehquickness/.blender/scripts/blender/export_dxf.py", line 218, in exportMesh
points = [ me_verts[key].co[:3] for key in e.key]
IndexError: list index out of range

Let me know how what else you need that I can help figure this out.

Thanks!

migius
26-Apr-09, 19:02
I am running in to this error when I try to run the code.
[code]
DXF-Export v1.29 - 2009.04.11 -----------START-----------

DXF-Export v1.27beta - 2008.10.07 -----------------------
Traceback (most recent call last):

be sure, you have only <ONE> instance of DXF-Exporter in Blender script folder, incl.subfolders!

migius
02-May-09, 18:33
The new release 1.30 will come with more robust hidde-line removal supported by alxarch. Look at this thread (http://blenderartists.org/forum/showthread.php?t=154523%20great) for more news. Alex made big progress last weeks. We have just tested a prototype code with ortho and perspective cameras: both work mostly fine.

migius
07-Jun-09, 20:50
DXF-Exporter: updated version v1.34 - 2008.06.08 to get from here (http://wiki.blender.org/index.php/Extensions:Py/Scripts/Manual/Export/DXF)
changes:
v1.34 - 2008.06.08
- export Lamps and Cameras as POINTs
- export passepartout for perspective projection
- added option for export objects only from visible layers
- optimized POLYFACE output: remove loose vertices in back-faces-mode
- support text-objects, also in ortho/persp-projection
- support XYmirrored 2d-curves to 2dPOLYLINEs
- support thickness and elevation for curve-objects
- fix extrusion 210-code (3d orientation vector)
- fix POLYFACE export, synchronized with dxfLibrary.py
- output style manager (first try)
v1.33 - 2009.05.25
- bugfix flipping normals in mirrored mesh-objects
- support curve objects in projection-2d mode
- UI stuff: camera selector/manager
v1.32 - 2009.05.22
- debug mode for curve-objects: output redirect to Blender
- wip support 210-code(extrusion) calculation
- default settings for 2D and 3D export
v1.31 - 2009.05.18
- optimizing back-faces removal for "hidden-lines" mode
- presets for global location and scale (architecture)
- UI layout: scrollbars, pan with MMB/WHEEL, dynamic width
- new GUI with Draw.Register() from DXF-importer.py

migius
08-Jun-09, 06:21
http://wiki.blender.org/uploads/d/d5/Manual-Exporter-DXF-gui13.png

Rickyx
18-Jun-09, 11:02
Hi migius,

I'm trying export_dxf-1.35 (2009.06.18) but I can't get to work.
Ubuntu Linux 9.04 - Blender 2.49.


DXF-Exporter v1.35 - 2009.06.18 *** start ***
with Library v1.30 - 2009.05.28
preparing for export ---
Traceback (most recent call last):
File "/home/rickyx/.blender/scripts/export_dxf135.py", line 2963, in bevent
if export_list: do_export(export_list, filepath)
File "/home/rickyx/.blender/scripts/export_dxf135.py", line 1422, in do_export
d.vports.append(DXF.VPort('*ACTIVE',center=(-5.0,1.0),height=10.0))
AttributeError: Drawing instance has no attribute 'vports'

What it can be?

Thank you,
Rickyx

migius
18-Jun-09, 11:56
I'm trying export_dxf-1.35 (2009.06.18) but I can't get to work.
Ubuntu Linux 9.04 - Blender 2.49.

hi Ricardo, you have to update dxfLibrary.py too (VPORT is supported first since ver.1.33)
migius

Rickyx
21-Jun-09, 18:58
EDIT: Thank you, SOLVED :)


Hi migius,

I've carefully read the Installation text as you say:

To avoid conflicts you have to remove older versions of the scripts from this folder. Caution: simply rename doesn't work! but anyway, after removing all other versions, as you can notice:

...BalenotteraX:~/Scrivania/blender-2.49a-linux-glibc236-py26-x86_64/.blender/scripts$ ls
3ds_export.py mesh_poly_reduce_grid.py
3ds_import.py mesh_poly_reduce.py
ac3d_export.py mesh_skin.py
ac3d_import.py ...
envelope_symmetry.py rvk1_torvk2.py
export_dxf135.py ...
...

rickyx@BalenotteraX:~/Scrivania/blender-2.49a-linux-glibc236-py26-x86_64$ ./blender/scripts/bpymodules$ ls
... colladaImEx dxfLibrary133.py meshtools.py ...

rickyx@BalenotteraX:~/Scrivania/blender-2.49a-linux-glibc236-py26-x86_64$ ./blender
Compiled with Python version 2.6.2.
Checking for installed Python... got it!
DXF-Exporter: error! found no dxfLibrary.py module in Blender script folderWhere I'm wrong?

Thank you,
Ricky.

EDIT: Thank you, SOLVED :)

vibrunazo
27-Jul-09, 18:51
Hello, for the dwg import script to work it needs http://www.prokon.com/win/DConvertCon.exe but that link is down. Is there a mirror?

migius
28-Jul-09, 04:14
hi vibrunazo, i have updated the link in blenderwiki.

yorik
08-Sep-09, 16:49
Hi Migius,
We finally made dimension objects in freecad, so I made another modification to the dxfLibrary.py so it can writes dimensions... Not very useful for blender right now, but who knows in some near future :)
It is pretty simple and a bit of a hack (a dimstyle table should be added, ideally), but it works... Want to adapt yours? Here goes the diff (based on current blender svn version):
Cheers
Yorik


410,425d409
< class Dimension(_Entity):
< """Basic dimension entity"""
< def __init__(self,point,start,end,**common):
< _Entity.__init__(self,**common)
< self.points=[point,start,end]
< def __str__(self):
< result = ' 0\nDIMENSION\n%s' %(self._common())
< result+=' 3\nStandard\n'
< result+=' 70\n1\n'
< result+='%s\n' %_point(self.points[0])
< result+='%s\n' %_point(self.points[1],3)
< result+='%s\n' %_point(self.points[2],4)
< print result
< return result
<
< #-----------------------------------------------

migius
08-Sep-09, 18:37
thank you, Yorik, i am afraid, it must wait a little - first we have to make good concept for dimensions in blender. :)

migius
08-Sep-09, 18:49
good news for everyone working with curves: full export of curve definition (tangents) is in coming.
How many of you are interested?

yorik
08-Sep-09, 19:28
Sure, I just thought it would be cool to keep one same version of the dxfLib.
Dimensions could become easier to do with 2.5, several of the things I did with freecad will become possible I think... I lacked a bit of time to look deeply at scripting in 2.5, but that's on my todo list...

About curves, how are you thinking to export them? splines?

migius
09-Sep-09, 04:24
About curves, how are you thinking to export them? splines?
both: POLYLINE-curved and (future) SPLINE,
note: SPLINE needs r14 format, which is not supported by dxfLibrary yet (generate a r14-header is not trivial). The r12 format has priority, because best supported by common CAD apps. The r14 format will be only an optional feature.

blender and acad have different models to describe curved lines. I am still investigating: seems acad.POLYLINE/SPLINE doesn't support Bezier-curves at all and has slight different NURBS format. imho, no 1:1 solution possible. WIP...

yorik
09-Sep-09, 07:33
note: SPLINE needs r14 format, which is not supported by dxfLibrary yet.

Yes, outside that, acad splines are really uncomfortable, they are hard to cut/trim, you cannot explode them, etc. IMHO polylines are a much more useful object, and indeed you can make them appear as curves...

migius
20-Jun-10, 16:00
DXF-Exporter: updated version v1.36 - 2010.06.20 to get from BlenderWiki (http://wiki.blender.org/index.php/Extensions:Py/Scripts/Manual/Export/DXF)
changes:
- added export Nurbs-Curve (3,4,5th-degree) into POLYLINE-NURBS(quad,cubic), but no support for Bezier-Curves, because DXF doesnt support them

migius
23-Jun-10, 04:34
DXF-Exporter version v1.37 - 2010.06.23 (to get from BlenderWiki (http://wiki.blender.org/index.php/Extensions:Py/Scripts/Manual/Export/DXF))
changes:
- APPLY-MODIFIER: added exception for modifier-free instances to export them as BLOCK/INSERTs
- writing DXF file without RAM-buffering: faster and low-RAM-machines friendly

faerietree
30-Jun-12, 13:41
[b]Hey Migius,[b]

first, i want to express that i'm quite impressed of the various possibilities of Blender. And it's because of you which contribute or give advice!
Thank you for that.

So far, my intention is to mill the parts i design in Blender. Many people use CATIA, but i prefer the Open Source community driven Blender. As the 3D-Models have to be designed anyway in another software the usual free CAD solutions, I really love to see this AddOn ported to the newest Blender version.

So thank you, Migius (& other pre-contributer)!


Allow me one annotation, shouldn't it be enough to support Edge &rarr; Lines and Vertex &rarr; Point as well as "View point projection"? Lines canconverted to Polylines in CAD software easily and generally quite quick (and quicker & easier than in Blender) since there are features like "snap to middle" et alia.



[b]Jon Ardaron[b]

migius
30-Jun-12, 17:41
Allow me one annotation, shouldn't it be enough to support Edge &rarr; Lines and Vertex &rarr; Point as well as "View point projection"? Lines canconverted to Polylines in CAD software easily and generally quite quick (and quicker & easier than in Blender) since there are features like "snap to middle" et alia.
Jon,
do you speak about DXF-exporter in Blender 2.83 or 2.49?
I am afraid I do not catch the question - please reformulate.

migius

migius
09-Jul-12, 12:19
to all users:
If you want to support DXF-exporter development,
become a subscriber and get the advanced version of the exporter - the Personal Edition (http://www.cad4arch.com/dxf_importer/)

faerietree
11-Jul-12, 18:37
Migius,

i just realized my posting was even more broken than i thought. Sorry for that. (I meant it generally. But i see, you are specialized for 2.49. As i feel much more comfortable with the newest Blender for 3D art, that would be kind of crazy getting used to this UI too - there is way too much to get used to in science anyway, so i want to keep it simply and non-redundant.
Anyway you fulfilled all features i somehow could need. So this question is done.)

I just came to your site ... and of course realized your real project CADTools .... godness, that's really complex. Far too complex. Okay, i see, you are a professional architect, hence who if not you should know which features are useful.
But really, it's quite a lot. Many more than i ever would need ... it's very amazing!


By the way, i could win my aerospace professor for Blender - he's a 3D Max guy, but now he switched, kinda convinced. :eyebrowlift:

migius
12-Jul-12, 06:41
I just came to your site ... and of course realized your real project CADTools .... godness, that's really complex. Far too complex. Okay, i see, you are a professional architect, hence who if not you should know which features are useful.
But really, it's quite a lot. Many more than i ever would need ... it's very amazing!
It will be much easier soon - I plan to hide all the complexity behind a user friendly context-sensitive UI :)

faerietree
12-Jul-12, 14:49
Hey migius,

i perhaps found an issue for DXF importer, but i'll try to figure out what went wrong myself, so that you don't have all the work. I plan to open the DXF with QCAD again and resave it. Because usual with one of the encoding options (ascii | utf8 | iso-8859-1) many files are working perfectly.

If this fixes the issue, you can't do anything about this.

By the way, concerning the DXF-importer using Curves i generally share the opinion of abelabel http://blenderartists.org/forum/showthread.php?189354-DXF-import-script-for-Blender-2.5/page4#post_2095707. But i think as there is ALT+C for converting to mesh, you needn't implement the redundant functionality for direct MESH import.
Let's save that time ...



Another good news for your DXF exporter (newest blender):
Testing the Blender 2.64 release a little bit i just for fun exported a UV sphere and open it in QCAD - nothing found. Looking for it being to tiny ... nothing found again.
Then, i opened it in LazyCam for Milling preparation (GCode generation) - how on Earth, there it is ... full and correct in all detail ... godness, good work, Migius!

At first I considered donating as a little expensive but i thought about it and it's really a joke to only donate 5$ or so, so I decided i will take one of your proposals (at least the 20 €) when i got all the currently expensive import to the Europe continent done (sometime this year). Currently i'm quite short on budget.


Another topic, did you realize that the bug report links are somehow broken or removed?
http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/DXF_Exporter


Thanks again,
Jon

there you have it - the evidence for the importer tool to work: (while one is somehow not, what i will investigate)
http://dragontale.de/Blender/blender2.63_import_dxf_error.jpg

migius
13-Jul-12, 19:43
Hi Jon,
thank you for considering support my work.


By the way, concerning the DXF-importer using Curves i generally share the opinion of abelabel http://blenderartists.org/forum/showthread.php?189354-DXF-import-script-for-Blender-2.5/page4#post_2095707. But i think as there is ALT+C for converting to mesh, you needn't implement the redundant functionality for direct MESH import.
Let's save that time ... that is not the point. Curvature generation is more difficult than approximation to mesh, so I have left it for later.



Another topic, did you realize that the bug report links are somehow broken or removed?
http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/DXF_Exporter already corrected :)



there you have it - the evidence for the importer tool to work: (while one is somehow not, what i will investigate)
http://dragontale.de/Blender/blender2.63_import_dxf_error.jpgi think, it is fixed in 2.64 version already - i cant reproduce it.

faerietree
15-Nov-12, 20:58
Hi Migius


I was talking a lot and still I'm feeling enthusiastic about Blender. It's really wonderful.

In the newest release everything works super, snap to edges, import (2D), export (2D), complicated meshes and high accuracy at the same time. It's really amazing and I appreciate all your and blender commiters' and community's work. The latter for tutorials and discussions of which I learnt so much. (What helped me maintaining integrity was keeping Blender metric scale to 1 - then metric "m" was really "mm". Edge length system and measurment add-on showed same results since then and even the micrometer accuracy I thought of being necessary when starting with blender, still is possible. Now I only have to convert a bunch of designs to proper units at scale factor 1 - still not sure how to do it best or if really necessary.)


I read on your cadtools-webpage about Blender 2.64 API still not being ready. Then I remembered I wanted to spend some money. And so I did. :)
It's no big amount, 5 only, but I have some problems currently, so that I only spend 10 a week for things to eat. So I spent half a week of my life and it's worth it. Initially I wanted to give 20, I know - I plan to pay the other 15 by contribution to blender somehow.
Though for now, I'm still having problems to dig deeper into it to get a feeling how stuff works and getting used to BlenderFoundations conventions. I did not even get a simple python add-on done until now ...


Concerning curve generation I still am convinced that redundancy has no and surely not highest priority. Of course, result may be better for curves. But with not much overhead (subdivision modifiers used properly for example), the accuracy of the milled pieces is really good.
AutoCAD shows not much better results.

For me Blender is the best CAD software available - it's beating QCAD, LibreCAD, AutoCAD due to it's genious control system. Once you're into it, it's splendid and highly accurate. (Only problem to me currently is dimensioning labeling, arcs without using modifiers and split-/join-process, placing new vertices at an special angle constraint to already existant vertices/edges without trigonometric calculus on a real sheet of paper :), as well as creating contours out of more complicated meshes. Until now I always have to delete some many edges.)
Besides that, it's really admirable how Blender is capable of competing with 100.000$ CATIA mechanical design suite. :-) (Okay, I didn't use it, but a colleague and I don't see the 100.000$ difference at least. Blender even can simulate physical systems, giving mesh real weights is also possible, REALTIME interaction is up to come if I'm not wrong with Fried Chicken Branch and much more.)


Hope, API will be offer the needed ressources soon.
Many wishes,

Jon Ardaron

migius
16-Nov-12, 16:33
Jon, thank you for your donation.


Only problem to me currently is dimensioning labeling, arcs without using modifiers and split-/join-process, placing new vertices at an special angle constraint to already existant vertices/edges without trigonometric calculus on a real sheet of paper :), as well as creating contours out of more complicated meshes. Until now I always have to delete some many edges.Please write more descriptive about the issues. Maybe there is something i could improve in some way.



Besides that, it's really admirable how Blender is capable of competing with 100.000$ CATIA mechanical design suite. :-)
I think Blender is too different to Catia to make real comparison - i would say, Blender can do better what Catia was not developed for and vice versa. ;)

nunogouveia
19-Nov-12, 18:20
Hello,
I'm trying to use de DXF importer for DXF files (created with Bricscad) and I found an issue that didn't exist when importing into 2.49:
all objects become a single one; When in 2.49, blender would assume a different material for each cad layer, but now, with 2.6, I can't separate my meshes; they're all imported as single object.
Thanks for reading and for any answers,
nuno

faerietree
22-Nov-12, 23:14
Hello nunogouveia,

I'm not completely sure, but It's quite possible that migius did not yet get around that. He's quite busy (he has high plans for the blender cadtools). An overview over the features is given on his webpage. If I'm not wrong there is also a section for the importer ... (I can't promise)

A workaround for now could be to import each layer individually. Depends on how many layers you have to deal with.



Please write more descriptive about the issues. Maybe there is something i could improve in some way.

I realised that caliper tool exists ... this slays the missing measurements. Though it's not yet that automatic, but it envolves.

The arc problem is solved by the bevel tool - I didn't think of it.
To constraint an angle, you need two steps I think - first extrude a vertex by the desired amount on an orthogonal or parallel axis. Then rotate around the origin of the extrusion by the desired angle.

It's quite handy to do that with the 3D-cursor as pivot.
So you can save your time on that at least - and concentrate on the statics and inner mechanics of material ... goodness, the new bullet engine could help simulate the stability of a system. Okay, it will not be capable of giving you the resulting parameters of steel beams for example. But I could add this via addon.

And the main goal is to make it as automatic as possible. This always should be the ultimate goal - automatic with flexible control at the same time. I think a lot of that as it will save our time. Perhaps I will create a web database for material parameters ...
Or even better, I will try to get access to one of these properly maintained databases that already exist. This will make things much more automatic. We won't have to bother of keeping that material data up to real world's research progress.

Thank you for your efforts, migius. Let's keep going. :-) I will try to help you whereever I can. I will try hard to get every useful tool I create for university into Blender, too. It took me, it took my dreams ...
Thanks to you, I got a good start - all the design and milling of the real world machines is already done by blender only. And accuracy is amazing - really even if the USD 100,000 CATIA is not comparable with blender - CATIA is made for mechanical design - and I use blender and results are equal. So where are the 100,000 USD ? I would have to work half a century as assistant at university to earn that money ...

Thank you blender for saving my time, thank you developers, tutorial creators and artists. :-) You rule the world. Not politics ...

[you see, I'm quite a hopelessly lost optimist too ... ;)]