How do I propose an addition to the Extra Objects add-on?

According to github add_mesh_teapot.py was added to Blender’s included Extra Objects in 2012. D’Agostino’s Teapot+ takes Martin Newell’s 1975 bicubic patch data and outputs it as a mesh in a resolution specified by the user.

However, Newell didn’t make just a now-famous 3D teapot in 1975, he made a 3D tea set – the teapot, a teacup/saucer, and a teaspoon. D’Agostino’s Teapot+ makes the teapot and teaspoon, but not the teacup/saucer. The data for all three are available, and I’ve adjusted add_mesh_teapot.py (added below) to accommodate the teacup/saucer. It works fine, although the rotation’s off by 90°.

While I’m getting that fixed, I’m looking into getting a version (doesn’t have to be mine, it wasn’t much work) of add_mesh_teapot.py with all three of Newell’s 1975 tea set pieces in Blender’s included Extra Objects add-on. Where/how do I propose that?

add_mesh_teapot.py (29.9 KB)
Replace Blender 3.0’s (not sure how far back this’ll work) add_mesh_teapot.py with the one linked above and you too can have Martin Newell’s teacup!

2 Likes

You can create an account on developer.blender.org and propose a patch, there.
You can create a thread on devtalk.blender.org forums.
You can try to contact addons maintainer on blender.chat.
https://wiki.blender.org/wiki/Communication/Contact

1 Like

From that link (highlite mine):
screenshot.2022-01-03 11.21.37_1100x200

If I wanted to propose a change to Blender’s codebase/function, yeah, that’s pretty well documented. If I wanted to suggest a change to a download’n’install add-on I’d ask its developers, they’re usually easy to find. But if you click Extra Objects’ Documentation button in Preferences you get its page in the Blender docs – granted, that says “Maintainer: Vladimir Spivak (cwolf3d)”, but no link or contact info, nor have I been able to google Mr Spivak’s contact info. And is it appropriate to bother the maintainer of several of Blender’s included add-ons with a change proposal to one of them? (If so, how?)

1 Like

You are right. I forgot that we can poke developers, here.
Maybe @cwolf3d can answer to your proposal in this thread.

1 Like

I am?!? I didn’t know that, thx!

1 Like

That’s funny the original data from the cup seems to be rotated… but shouldn’t be (i always wondered…) there also an original ratio for the teacup (see wikipedia link)? Like so ?: add_mesh_teapot.py (30.4 KB)

1 Like

Oh, nice! However, the original ratio data should apply to the pot, but not the spoon or cup – don’t know how you’d do that though, might be over-complicating. And given that the “short teapot” ratio is what’s familiar to 3D communities you’d probably want that unchecked by default.

I can’t spot where you fixed the rotation of the cup, let me know pls?

That’s why i descripted it as “original ratio of real teapot model”

I always thought that just because the majority is used to something that alone doesn’t make it correct… especially if there is a proof for this (here: original paper sketch from Martin Newell of the Melitta design).

I swapped the original bezier patch A,B,C data to A,C,B so it’s rotated.

1 Like

Yep, that’s what you said in your code. This is how it’s working in use on the cup:

And the spoon:

Is that your intent? Or supported by original docs?

Huh, I didn’t think of that. (I’m getting back into coding after a couple decades, and my original experience was as a database analyst, nothing to do with 3D.)

For the pot it is confirmed… for the other it seems not okay and it was easier to just make one single toggle… maye it’s better to make something like …add_mesh_extra/add_mesh_teaset.py with other subcategories Teapot (traditional), Teapot (original), TeaCup, TeaSpoon… again it’s somekind of funny that the original Cup data is rotated… (:exclamation:)

First i thought about rotating the cup data on the fly in the code but than i just used a regex:

search: ([0-9.-]),([0-9.-]),([0-9.-]*)
replace: \1,\3,\2

initially with sed but than only on the selected data in an editor…
… maybe just … (see above red exclamation)

1 Like

This is neat. I wonder if you could make the objects come in at an appropriate scale and relative to each other. And possibly the cup and saucer separate objects and without a hole.

This blend I made the pot 1 ft, the cup .35 ft and spoon .075 ft.
teaset.blend (846.9 KB)
teasett1

I like that idea, it’s closer to the previous structure of the add-on – I’m none-the-less impressed with you just popping a checkbox in there (like I said, I’m new at this, it doesn’t take much to impress me). Out of curiosity (if you don’t mind), how would you set the checkbox initial state to not-checked?

I’ve been puttering around the Newell (and Mellita inspiration) teaset for a few years, these might be of interest:

The teaset picture on the wall was for his PhD, here’s a better shot of it:

Notice the little milk jug? Similar shape to a spout-less version of the teapot, but if the data set for that’s ever been distributed I haven’t found any indication. Anybody here know different?

People put their old Mellita sets up for sale all the time, I’ve been collecting pics (no attribution info, sorry):

Melitta Tea Service 57bd978d20

Remember that the data sets I’m working from (identical to the teapot and teaspoon data D’Agostino used for this add-on in 2012) are a 1991 upload by Juhana Kouhia – he says “datas made by Newell” but we know his data has the later ratio change on the teapot. Rotation changes? Other changes? If so, to which sets? I’ve heard Newell’s original teapot didn’t have a bottom, the one in this add-on does. If we can get earlier and/or more authentic data to work from then I’m game, but sans that I say we go with what we’ve got.

I think that goes beyond the intent of this add-on, which is to make a specific set of historical bicubic patch data (Newell’s Teapot+) easily translatable for use in Blender. Anybody who wants to make the meshes (with this add-on or elsewise) and do as you’ve suggested, I don’t see why not.

Apart from this add-on?

Hmmm looking at the data from holmes3D “The Utah Teapot” this seems to be more like some original data because they used it the first time with describing the controlling bezier patches (32 for the pot) and then the 3x3 form (for each) of them (bpt for Bezier PaTch). Funny things is when converting it (via a small python scipt) to the/a later format (used as mesh) and/or in the extra addon used format with all patch controll points first and the vertex coodinates then this seems to be a different order (see ZIP:
teapotData.zip (3.7 KB)
)… but anyway the cup is still rotated and the pot with trim is 40 times bigger… Looking at The History of The Teapot :

The teapot is made from nine patches - some reflected in two axes, others in one axis only.
Rim: { 102, 103, 104, 105, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15 }

This is a totally other order of data… and i didn’t care about it. Anyway:
I think it is best to just put the “original” bpt-file in the addon folder and read the data directly with only rotating for the cup and downscaling for the bigger pot with rim… and some better names… (no aspect toggle)… have to think abit about GUI… a little teaser for now:


Edit: silly me:
TeaOptions

I think you’re right, that sounds like the way to go. Maybe Teapot (standard), Tea Spoon, Tea Cup, and Teapot (original) for the Object Type names.

But for the teapot version that’s been in this add-on all along, I’m leery of making changes. Back when add_mesh_teapot.py was added to Extra Objects on May 3rd 2012 the intent seems to be to give Blender’s users access to a standard 3D test object, one that came with other 3D software. If we change something that makes the primary output of this add-on no longer that standard, I think our proposed changes are doomed to fail from that alone.

“& easter egg (Spoon)” is how the teaspoon’s referred to there. We don’t know why D’Agostino chose to include that but not the teacup. The 7.64 KB size of the teacup’s data was a far greater consideration in 2012 than it is now, maybe he could only fit one of them, and picked the spoon. Or it could’ve been the issues Boder’s mentioned above. Or both. But I think that ten years later including the rotation-fixed 1991 teacup data is a reasonable ask.

You posted above “ . . . just because the majority is used to something that alone doesn’t make it correct . . . ”, which I don’t think is a good reason to alter a standard 3D test object in use for decades, but arguable warrants adding a more authentic version (if you can come up with one you’re satisfied with). And if somebody provides the little milk pitcher’s data I’d love to see that included. But then I think we’re back to my original question: Where/how do I propose getting these changes made?

I asked here first in large part to avoid annoying and wasting dev time by fumbling around and scattering queries hoping one hits the right spot – there’s gotta be a way this is supposed to be done, I’d like to get it right the first time. But following thru the links zeauro provided above doesn’t help much that I could see. Blender.chat isn’t an option for me (I’m on the autism spectrum and have difficulty with chats). And while zeauro’s idea to poke @cwolf3d produced three likes from him a couple days ago on my then-three posts in this topic, I can’t tell if it’s done anything else.

Okay making an addon with alternative parts like bottom or rim (which is a very odd because not going any further down/inways) and maybe disconnected like saucer and cup and on ground or hovering in midair (to match the position with bottom) and also closing the saucer or cup and making the cup not overlapping geometry and making alternative forms is maybe and idea for a “Melitta”-addon… so here is a cleaner version (i used tabs and spaces before…non pythonish and forget to delete some ratio stuff): add_mesh_teapot.py.txt (30.4 KB) and if someone is interested in the conversion of the bpt files here is my simple script (unpythonish tabs!! no parameters just hardcoded infile/outfile): convert_bpt_icp.py (3.2 KB)

(So now i think i have the Volkswagen Käfer anywhere… :wink: )

I wanna be careful about invoking the “Melitta” company name – acknowledging that this iconic 3D standard test model of over forty years standing was drawn from a Melitta teapot is one thing, naming an add-on “Melitta” (or any of the stuff an add-on makes) looks like tempting the wrath of corporate legal teams.

That having been said, the initial reason for this topic is that, while attempting to get a Blender-usable mesh of Catmull’s bicubic patch model Gumbo the Elephant, I realized that the 1991-uploaded teacup data can easily be added to add_mesh_teapot.py, and I thought that everybody who’s using Blender should have the same ease-of-access to the teacup as they’ve had to the teapot and teaspoon for the last decade. Once you start thinking that here’s another 40+ year old bicubic patch model it’d be nice to include, and this one over here, and, and, and, and . . . that’s about another add-on entirely, one that reads any bicubic patch data you point it at and gives you a nice Blender-usable mesh.

How 'bout here?

= = = = =

It occurred to me that since that little milk pitcher was part of an image Newell made for his PhD thesis “The Utilization of Procedure Models in Digital Image Synthesis” that the datasets might’ve been included, maybe in an appendix. Found the thesis, and no, it doesn’t include the datasets. Nice graphics, though:

Again, if anybody can come up with the data for this bicubic patch model I’d love to include it. In the meantime, I still don’t know what should be done to propose this gets added to Blender’s add_mesh_teapot.py. And just FYI, I’m in rural East Tennessee, in an area that most winters looses power (sometimes for days) during bad weather events, so I may drop out for a while.

Hehe you are some kind of a collector :wink: . I also tried a search for the thesis but only found some copyrighted blabla … already long discussed suggestions or wrong bugs are a real problem for the developer i think… there a dozen of things which were closed after a week because nobody replied (even the original issue author)… i also tried to follow some development on the development tracker… that’s some kind of heavy stuff… shouldn’t be so hard for the addons… just… have… to… find… or just her
on BA:

Feel free to suggest it.

But I don’t feel free – as I said above:

If I can’t get a decent answer on the right way to propose this then yes, I’ll spam every spot suggested in this topic, including that one.

In the meantime, in a (probably) last-ditch attempt to get the milk pitcher in too I’ve asked over on the Computer Graphics StackExchange, I wanna give that about week before making a final version of the .py to flog to the devs.

By:

i meant: you don’t need my permission or if you like: permission granted.

And the mentioned thread is from one of the official addon-developers done in category Code → Released Scrips. So no need to spam everywhere

You can write in this thread or in this

If there are a lot of people who want to include this in the add-on or justified reasons, then a saucer with a teacup can be included in the add-on. The truth is probably worth a little tweak and close the mesh.