BevelOb not working on curve imported from DXF

I have been trying to import some 2D shapes from a DWF (which works fine) and apply a BevelOb to them to extrude them. When I apply the BevelOb to a new circle Bezier, it works fine, but when I apply it to one of the Beziers I imported from the DXF file, it doesn’t do anything at all. I didn’t scale the curves at all, so I’m pretty sure it’s not just making a bevel so small I can’t see it (I zoomed in to check).
I have no idea what could be different about the curves I imported - they look just like normal curves to me… any clue as to why applying a BevelOb to a curve wouldn’t work?

Could you post the .blend somewhere (or one similar if you need to)?
With it chances are that the problem will get solved in minutes.

J.

Oh, right, thanks! Here’s a link to a sample of the problem I’m having:
http://www.lolldesigns.com/testfiles/BevelTest.blend

Both curves have the same BevelOb applied to them.

Hmm, that is odd, here is what I did.

I created a circle and tested your bevel object and it worked fine.
So I put the circle in edit mode and selected a vertex. I pressed the C-Key to toggle the closed functinn of the curve. When I did that I observed that all the points of the circle were indeed connected.

I tried the same process on your imported DXF object. Put the object in edit mode and select a vertex. Then press the C-Key and observe the results. The points of your imported object are not connected. This is probably why the bevel is failing.

My guess is that the DXF importer has a bug. Personally I have never had any luck with DXF format and try to steer clear of it as a general rule.

Oh, interesting. Well, I tried that, and see what you mean. But when I took the BevelOb off of that one, then I could see that they were connected. I think it just doesn’t draw the line segments connecting the points when you have a BevelOb applied (since the BevelOb should be creating some faces to draw instead, in that case).

If I knew any other way to get the data in, and thought it would help, I would. I’m trying to get these pieces from AutoCAD. So the only thing I found that worked was a DXF file. Except that now I have this strange error.

It’s not a bug.
It’s a feature that Blender programmers had missed in the API (I am not programmer). It is the abbility to control the radius of the curve with a script.
Here is the blend file fixed.
Just go in edit mode for the curve - select al CPs, press W and Set Radius to something (in my case it was 1). Then the bevel object will appear.
Cheers!

Attachments

BevelTest-fixed.blend (160 KB)

I am sorry if I didn’t understant the problem.
If you want both “small” curves to be the profile for the bevel - just Join them :wink:

Attachments

BevelTest-fixed2.blend (158 KB)

Awesome! Thanks.
Now the question is - since I actually have several of those curves in a few DXF files that I want to import and use - do I have to go through and do that to each one? Or is there a setting in the DXF importer that will do that for me? Or some faster way to do it after they’re all imported?

Nope, that’s the fastest way for now :slight_smile:

Is there some kind of simple script I could write to do it for me? Is that the idea behind this feature? Or what?
I remember it used to work fine without doing anything - but that’s when I was using Blender 2.43 and an older version of DXF importer, obviously, so it was a while ago.

There are two importers for DXF in 2.48a :
the old one which is in the group of three at the top of File > Import is not as good as the new Python importer by Migius.

Which one did you use Fats Tatum ?
Would you give the other a try ?

J.

I’m not sure where to get the new Python importer by Migius. I was under the impression that was it, in the top 3 of the import menu. I have one other one in my import list called “Autodesk DXF” which just pops up practically infinite errors. Is there a place I can download the new Python script by Migius?

I don’t know of any other place.
I sent a PM to Migius so he could have a look at this thread.
For most people his script is better than the DXF… importer.

“Autodesk DXF” is the right place, i wonder what infinite errors…
i will just look at it…

My mistake - I tried again with the “Autodesk DXF” Importer and I didn’t get inifinite errors :slight_smile: I must have not tried it after installing the new version until now. However, I still have the same problem in that after I import 2D Bezier curves, I can’t apply a bevel without going through and setting a radius for each vertex. It works after that - just thought there ought to be an easier way to get to that point than setting the radii for each curve manually.

Fats Tatum, i think i have the right solution for you.
DXF specification doesn’t support bevel radius parameter. Nevertheless i will try to add this functionality to the importer. I will send you the modified version soon.

Atom, seems you have a problem with DXF import. Could you tell me what exactly doesn’t work for you? I’d like to take a look at such DXF files. Maybe it is possible to solve it too.

migius

Thanks!

I assumed a curve imported from a DXF would, by default, just have the same properties as a curve created new from the “Add” menu, but apparently that’s not the case? I have never used “Set Radius” before, but from what I can tell from some brief reading, the radius basically scales whatever bevel is being used for the curve - is that correct? And the radius on curves imported from a DXF must be defaulting to 0 for some reason (?) whereas the default radius for a new curve in general I’m guessing would be 1 (I think that would make more sense, since it seems to be a multiplicative term). So you would just want to make the radius default to 1 rather than 0 (if I understand it correctly), no need to add more support than that, in my opinion.

FYI, Importer doesn’t handle with radius value at all - it seems blender sets it automatic to 0. Yes, it must be 1.0 for proper scaling of bevel profile.
Can you manage this modification in script yourself or will you wait for official update ?

Sorry for the long wait - I’ve been busy taking a road trip and electing a new president :wink: And what a relief that is!

Anyway, I have been able to set the radii manually for what I need so far. I’ll need to do more soon I’m sure. It sounds like it might be best to try to get it fixed in Blender - since there’s no reason to default the radius to 0. Sounds like a bug to me… ? However, in the short term, having it work just in the DXF importer would be great too :slight_smile:

hi Fats Tatum,
DXF-Importer: updated version v1.12 - 2008.11.16:

  • sets Bezier curves bevel radius to default 1.0: assigning bevel object should work now :slight_smile:
    to get from manual wiki page.
    have fun
    migius