- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Abusive limitation about small planes ?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-30-2010 10:40 AM
Hi,
Documentation for both api_face_plane and api_make_plface mentions a limitation about normal's length (with normal beoing the ((right
- origin) * (left - origin)) .
This means that both these functions cannot create a 0.1 square millimeter plane for instance. This limitations seems abusive and conflicting with SPAresabs limitation which should only apply to linear dimension.
You can try the following scheme command to confirm this limitation:
(face:plane (position 0 0 0) 0.001 0.0001 (gvector 0 0 1)))
While I pass a normal vector whose lenght is 1.0 (way bigger than SPAresabs), the command fails because ((right - origin) * (left - origin))<SPAresabs.
So I have 2 questions:
1- how can we create a 1 mm by 0.1 mm square plane with API functions ?
2- is there any other similar limitation for other surfaces (i.e. surface whose linear dimension si greater than SPAresabs, but other dimentions like area, volume, normal...)
Nota: I didn't change values of SPAresabs, and my system unit is meter.
So the limitation for minimum linear dimension should be 0.000001 m = 0.001 mm = 1 micrometer
Thanks.
Stephane.
Re: Abusive limitation about small planes ?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-30-2010 12:05 PM
Hello Stephane,
As a work around you can create two faces that are acceptable to the api and then do a boolean?
Yogesh
Re: Abusive limitation about small planes ?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-03-2010 07:00 AM
It seems not to work. I tried the following:
1- create a plane 0.001 by 0.01
2- create a se cond plane 0.001 by 0.0999
3- subtract the small from the big one: I expect the result to be a 0.001 by 0.0001 plane
Test in scheme is weird: I cannot see the resulting plane on the screen + when I export the resulting SAT then export it back, I got a error "Model size is smaller than the valid box"
So, bool::subtract seems not to be a solution.
Stephane.
Re: Abusive limitation about small planes ?
[ Edited ]- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-03-2010 08:44 PM - last edited on 05-03-2010 08:54 PM
Hi Stephane
What you can do here is:
call face:planar with values 1 and 0.1
and then apply transform to convert the values to m ( scale it by .001)
(define pl_face (face:plane (position 0 0 0) 1 0.1 (gvector 0 0 1))) (define tr_to_m (transform:scaling .001 .001 .001)) (entity:transform pl_face tr_to_m)
Please note here that you here are trying to create a face with area of the order 1e-7.
btw. If your application wants to create models with dimensions as low as 0.1mm, then why don't you want to keep mm as your default unit?
Even if you keep mm as default unit, you have a high of 10m.
Useful links in this context:
Regards,
Mohit

