Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DxfEllipse - thickness missing #202

Open
APOSWE opened this issue Dec 14, 2023 · 6 comments
Open

DxfEllipse - thickness missing #202

APOSWE opened this issue Dec 14, 2023 · 6 comments

Comments

@APOSWE
Copy link

APOSWE commented Dec 14, 2023

Hello!
I'm using the IxMilia.Dxf-nuget and i wondered, why the stroke of the ellipse is thicker. It looks like the property thickness is missing in the DxfEllipse?
Then i was looking at the source on github and the whole class is missing here? (src/IxMilia.Dxf/Entities)
Can you help me?

@brettfo
Copy link
Member

brettfo commented Dec 14, 2023

You're correct that the Thickness property is not on the DxfEllipse class, but it sounds like that property isn't what you're looking for. In a DXF file, an entity's thickness isn't how thick or thin the line is, rather it's more like an elevation, or how tall it is.

If you're looking to modify how thick the entity is drawn on the screen or paper then you likely want to use the LineweightEnumValue property. This value is described under code 370 here. The value is a short that corresponds to the width of the line in milimeters * 100, e.g., a value of 25 means 0.25mm. N.b., the LineweightEnumValue property is only honored on DXF R2000 or newer files, so if you're using this library to create a file you'll have to do something like this:

DxfFile dxf = new DxfFile();
dxf.Header.Version = DxfAcadVersion.R2000;
// ...
DxfEllipse ellipse = new DxfEllipse(...);
ellipse.LineweightEnumValue = 75; // 0.75mm
// ...
dxf.Entities.Add(ellipse);
// ...
dxf.Save("path/to/file.dxf");

@APOSWE
Copy link
Author

APOSWE commented Dec 15, 2023

ok thank you!
and why is the source on github not complete?

@brettfo
Copy link
Member

brettfo commented Dec 15, 2023

What do you mean by not compete? The spec for ellipse doesn't list thickness as an available property.

On a related note, code is never complete and always able to be improved and this library is something I do in my spare time so it doesn't get 40 hours/week of work.

@APOSWE
Copy link
Author

APOSWE commented Dec 15, 2023

Sorry, I worded myself a bit unclearly! You're doing a great job! And if I can help in any way, please let me know!

I tried to find out exactly the difference in order to accurately describe the issue!
There I was looking for "DxfEllipse" under the path which i saw in the VS.
image

And in github i couldn't find that class "DxfEllipse"... that was why I was asking if the source is not complete.
image
That's what I meant by not source complete...
I hope I have been able to clear up the misunderstandings a little 😬

@brettfo
Copy link
Member

brettfo commented Dec 15, 2023

Ah, I see. Much of the code is generated at build time; look at the IxMilia.Dxf.Generator project. The properties for DxfEllipse are defined here and the generator builds the necessary code for the entity.

@APOSWE
Copy link
Author

APOSWE commented Dec 16, 2023

really great and clever approach! Hopefully I can bother you a few more times if I have a question... :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants