discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

variable not specified as parameter?

K
Ken
Sun, Jul 7, 2024 12:46 AM

I am trying to both round and chamfer a cuboid but get the error
"WARNING: variable chamfer2 not specified as parameter" when I add the
chamfer.

Much searching on google hasn't found an an answer- is it even possible
to do both operations on the one line, or am I asking a bit too much?

If it is possible, what am I doing wrong?

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

$fa = 1;
$fs = 0.4;

color ("yellow")
rotate([0,0,0])
translate([0,0,0])
cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1);

--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!

I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer. Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much? If it is possible, what am I doing wrong? include <BOSL2/std.scad> include <BOSL2/rounding.scad> $fa = 1; $fs = 0.4; color ("yellow") rotate([0,0,0]) translate([0,0,0]) cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1); -- Cheers, Ken bats059@gmail.com https://vk7krj.com https://vk7krj.com/running.html ---------------------------------------- A baby can be defined as an ego with a noise at one end and a smell at the other. Your job as parents is to teach them to control all three. My job as a grandad is to tell you how you are doing it all wrong!
RD
Revar Desmera
Sun, Jul 7, 2024 1:51 AM

The cuboid() call doesn't mix rounding and chamfering.  It does one or the other, but not both at once.  However, you can mix them up using intersection():

intersection() {
cuboid([46,31,6.5], edges=TOP, chamfer=1);
cuboid([46,31,6.5], rounding=15, edges="Z");
}

-Revar

On Jul 6, 2024, at 5:46 PM, Ken via Discuss discuss@lists.openscad.org wrote:

I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer.
Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much?
If it is possible, what am I doing wrong?

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

$fa = 1;
$fs = 0.4;

color ("yellow")
rotate([0,0,0])
translate([0,0,0])
cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1);

Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

The `cuboid()` call doesn't mix rounding and chamfering. It does one or the other, but not both at once. However, you can mix them up using `intersection()`: intersection() { cuboid([46,31,6.5], edges=TOP, chamfer=1); cuboid([46,31,6.5], rounding=15, edges="Z"); } -Revar > On Jul 6, 2024, at 5:46 PM, Ken via Discuss <discuss@lists.openscad.org> wrote: > > I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer. > Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much? > If it is possible, what am I doing wrong? > > include <BOSL2/std.scad> > include <BOSL2/rounding.scad> > > $fa = 1; > $fs = 0.4; > > color ("yellow") > rotate([0,0,0]) > translate([0,0,0]) > cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1); > -- > Cheers, Ken > bats059@gmail.com > https://vk7krj.com > https://vk7krj.com/running.html > ---------------------------------------- > A baby can be defined as an ego with a noise at one end and a smell at the other. > Your job as parents is to teach them to control all three. > My job as a grandad is to tell you how you are doing it all wrong! > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
K
Ken
Sun, Jul 7, 2024 2:38 AM

Thanks Revar, that explains why I get the error.

However, intersection only rounded some of the edges, so I finished up
using two cyl and a cuboid, each chamfered individually. That produced
the shape that I needed.

On 2024-07-07 11:51, Revar Desmera via Discuss wrote:

The cuboid() call doesn't mix rounding and chamfering.  It does one or the other, but not both at once.  However, you can mix them up using intersection():

intersection() {
cuboid([46,31,6.5], edges=TOP, chamfer=1);
cuboid([46,31,6.5], rounding=15, edges="Z");
}

-Revar

On Jul 6, 2024, at 5:46 PM, Ken via Discussdiscuss@lists.openscad.org  wrote:

I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer.
Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much?
If it is possible, what am I doing wrong?

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

$fa = 1;
$fs = 0.4;

color ("yellow")
rotate([0,0,0])
translate([0,0,0])
cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1);

Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!

Thanks Revar, that explains why I get the error. However, intersection only rounded some of the edges, so I finished up using two cyl and a cuboid, each chamfered individually. That produced the shape that I needed. On 2024-07-07 11:51, Revar Desmera via Discuss wrote: > The `cuboid()` call doesn't mix rounding and chamfering. It does one or the other, but not both at once. However, you can mix them up using `intersection()`: > > intersection() { > cuboid([46,31,6.5], edges=TOP, chamfer=1); > cuboid([46,31,6.5], rounding=15, edges="Z"); > } > > > -Revar > > >> On Jul 6, 2024, at 5:46 PM, Ken via Discuss<discuss@lists.openscad.org> wrote: >> >> I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer. >> Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much? >> If it is possible, what am I doing wrong? >> >> include <BOSL2/std.scad> >> include <BOSL2/rounding.scad> >> >> $fa = 1; >> $fs = 0.4; >> >> color ("yellow") >> rotate([0,0,0]) >> translate([0,0,0]) >> cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1); >> -- >> Cheers, Ken >> bats059@gmail.com >> https://vk7krj.com >> https://vk7krj.com/running.html >> ---------------------------------------- >> A baby can be defined as an ego with a noise at one end and a smell at the other. >> Your job as parents is to teach them to control all three. >> My job as a grandad is to tell you how you are doing it all wrong! >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email todiscuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org -- Cheers, Ken bats059@gmail.com https://vk7krj.com https://vk7krj.com/running.html ---------------------------------------- A baby can be defined as an ego with a noise at one end and a smell at the other. Your job as parents is to teach them to control all three. My job as a grandad is to tell you how you are doing it all wrong!
AM
Adrian Mariano
Sun, Jul 7, 2024 5:12 AM

Actually the reason you get an error is that chamfer2 doesn’t exist because
cuboid just uses chamfer plus the edges= and except= parameters to control
chamfering. This is not directly related to cuboid not supporting
simultaneous rounding and chamfering.

If intersecting didn’t round enough edges it’s because you used the wrong
choice for the edges= parameter.  By intersecting two cubes you can
individually round or chamfer every edge as desired.

Also note that more edge treatment options are available using
edge_profile()

On Sat, Jul 6, 2024 at 19:39 Ken via Discuss discuss@lists.openscad.org
wrote:

Thanks Revar, that explains why I get the error.

However, intersection only rounded some of the edges, so I finished up
using two cyl and a cuboid, each chamfered individually. That produced the
shape that I needed.
On 2024-07-07 11:51, Revar Desmera via Discuss wrote:

The cuboid() call doesn't mix rounding and chamfering.  It does one or the other, but not both at once.  However, you can mix them up using intersection():

intersection() {
cuboid([46,31,6.5], edges=TOP, chamfer=1);
cuboid([46,31,6.5], rounding=15, edges="Z");
}

-Revar

On Jul 6, 2024, at 5:46 PM, Ken via Discuss discuss@lists.openscad.org discuss@lists.openscad.org wrote:

I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer.
Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much?
If it is possible, what am I doing wrong?

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

$fa = 1;
$fs = 0.4;

color ("yellow")
rotate([0,0,0])
translate([0,0,0])
cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1);

Cheers, Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
Cheers, Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Actually the reason you get an error is that chamfer2 doesn’t exist because cuboid just uses chamfer plus the edges= and except= parameters to control chamfering. This is not directly related to cuboid not supporting simultaneous rounding and chamfering. If intersecting didn’t round enough edges it’s because you used the wrong choice for the edges= parameter. By intersecting two cubes you can individually round or chamfer every edge as desired. Also note that more edge treatment options are available using edge_profile() On Sat, Jul 6, 2024 at 19:39 Ken via Discuss <discuss@lists.openscad.org> wrote: > Thanks Revar, that explains why I get the error. > > However, intersection only rounded some of the edges, so I finished up > using two cyl and a cuboid, each chamfered individually. That produced the > shape that I needed. > On 2024-07-07 11:51, Revar Desmera via Discuss wrote: > > The `cuboid()` call doesn't mix rounding and chamfering. It does one or the other, but not both at once. However, you can mix them up using `intersection()`: > > intersection() { > cuboid([46,31,6.5], edges=TOP, chamfer=1); > cuboid([46,31,6.5], rounding=15, edges="Z"); > } > > > -Revar > > > > On Jul 6, 2024, at 5:46 PM, Ken via Discuss <discuss@lists.openscad.org> <discuss@lists.openscad.org> wrote: > > I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer. > Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much? > If it is possible, what am I doing wrong? > > include <BOSL2/std.scad> > include <BOSL2/rounding.scad> > > $fa = 1; > $fs = 0.4; > > color ("yellow") > rotate([0,0,0]) > translate([0,0,0]) > cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1); > -- > Cheers, Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html > ---------------------------------------- > A baby can be defined as an ego with a noise at one end and a smell at the other. > Your job as parents is to teach them to control all three. > My job as a grandad is to tell you how you are doing it all wrong! > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > -- > Cheers, Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html > ---------------------------------------- > A baby can be defined as an ego with a noise at one end and a smell at the other. > Your job as parents is to teach them to control all three. > My job as a grandad is to tell you how you are doing it all wrong! > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
K
Ken
Sun, Jul 7, 2024 6:11 AM

Thanks Adrian- I spent an hour or so trying out edge_profile(), but it
is a bit above my pay grade at the moment I'm afraid.

I tried an example given in the github page, it worked exactly as shown,
but as soon as I changed it to use my dimensions it gave errors. I have
given up for now, but will get back to it as time allows, using the help
I found in the BOSL2 attachments file.

On 2024-07-07 15:12, Adrian Mariano via Discuss wrote:

Actually the reason you get an error is that chamfer2 doesn’t exist because
cuboid just uses chamfer plus the edges= and except= parameters to control
chamfering. This is not directly related to cuboid not supporting
simultaneous rounding and chamfering.

If intersecting didn’t round enough edges it’s because you used the wrong
choice for the edges= parameter.  By intersecting two cubes you can
individually round or chamfer every edge as desired.

Also note that more edge treatment options are available using
edge_profile()

On Sat, Jul 6, 2024 at 19:39 Ken via Discussdiscuss@lists.openscad.org
wrote:

Thanks Revar, that explains why I get the error.

However, intersection only rounded some of the edges, so I finished up
using two cyl and a cuboid, each chamfered individually. That produced the
shape that I needed.
On 2024-07-07 11:51, Revar Desmera via Discuss wrote:

The cuboid() call doesn't mix rounding and chamfering.  It does one or the other, but not both at once.  However, you can mix them up using intersection():

intersection() {
cuboid([46,31,6.5], edges=TOP, chamfer=1);
cuboid([46,31,6.5], rounding=15, edges="Z");
}

-Revar

On Jul 6, 2024, at 5:46 PM, Ken via Discussdiscuss@lists.openscad.org  discuss@lists.openscad.org  wrote:

I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer.
Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much?
If it is possible, what am I doing wrong?

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

$fa = 1;
$fs = 0.4;

color ("yellow")
rotate([0,0,0])
translate([0,0,0])
cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1);

Cheers,Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

--
Cheers,Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!

Thanks Adrian- I spent an hour or so trying out edge_profile(), but it is a bit above my pay grade at the moment I'm afraid. I tried an example given in the github page, it worked exactly as shown, but as soon as I changed it to use my dimensions it gave errors. I have given up for now, but will get back to it as time allows, using the help I found in the BOSL2 attachments file. On 2024-07-07 15:12, Adrian Mariano via Discuss wrote: > Actually the reason you get an error is that chamfer2 doesn’t exist because > cuboid just uses chamfer plus the edges= and except= parameters to control > chamfering. This is not directly related to cuboid not supporting > simultaneous rounding and chamfering. > > If intersecting didn’t round enough edges it’s because you used the wrong > choice for the edges= parameter. By intersecting two cubes you can > individually round or chamfer every edge as desired. > > Also note that more edge treatment options are available using > edge_profile() > > On Sat, Jul 6, 2024 at 19:39 Ken via Discuss<discuss@lists.openscad.org> > wrote: > >> Thanks Revar, that explains why I get the error. >> >> However, intersection only rounded some of the edges, so I finished up >> using two cyl and a cuboid, each chamfered individually. That produced the >> shape that I needed. >> On 2024-07-07 11:51, Revar Desmera via Discuss wrote: >> >> The `cuboid()` call doesn't mix rounding and chamfering. It does one or the other, but not both at once. However, you can mix them up using `intersection()`: >> >> intersection() { >> cuboid([46,31,6.5], edges=TOP, chamfer=1); >> cuboid([46,31,6.5], rounding=15, edges="Z"); >> } >> >> >> -Revar >> >> >> >> On Jul 6, 2024, at 5:46 PM, Ken via Discuss<discuss@lists.openscad.org> <discuss@lists.openscad.org> wrote: >> >> I am trying to both round and chamfer a cuboid but get the error "WARNING: variable chamfer2 not specified as parameter" when I add the chamfer. >> Much searching on google hasn't found an an answer- is it even possible to do both operations on the one line, or am I asking a bit too much? >> If it is possible, what am I doing wrong? >> >> include <BOSL2/std.scad> >> include <BOSL2/rounding.scad> >> >> $fa = 1; >> $fs = 0.4; >> >> color ("yellow") >> rotate([0,0,0]) >> translate([0,0,0]) >> cuboid([46,31,6.5], rounding=15, edges="Z", chamfer2=1); >> -- >> Cheers,Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html >> ---------------------------------------- >> A baby can be defined as an ego with a noise at one end and a smell at the other. >> Your job as parents is to teach them to control all three. >> My job as a grandad is to tell you how you are doing it all wrong! >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email todiscuss-leave@lists.openscad.org >> >> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email todiscuss-leave@lists.openscad.org >> >> -- >> Cheers,Kenbats059@gmail.comhttps://vk7krj.comhttps://vk7krj.com/running.html >> ---------------------------------------- >> A baby can be defined as an ego with a noise at one end and a smell at the other. >> Your job as parents is to teach them to control all three. >> My job as a grandad is to tell you how you are doing it all wrong! >> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email todiscuss-leave@lists.openscad.org >> > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org -- Cheers, Ken bats059@gmail.com https://vk7krj.com https://vk7krj.com/running.html ---------------------------------------- A baby can be defined as an ego with a noise at one end and a smell at the other. Your job as parents is to teach them to control all three. My job as a grandad is to tell you how you are doing it all wrong!