i am trying to create and design a widget for creating 3d files… let me explain- i am modeler and i want to make a configurator program that will ultimately generate a model for 3d printing. i have a intermediate understanding of the BGE so i think that i can do most of the stuff but i am not sure how to finish it off… first i need only the parts on screen compiled into a single model- then i need to convert that into a likeable format- then i need to download it to SHAPEWAYS.COM and my shop for printing.
i think that there are several ways i can go with this but to get me started i need direction on how to capture the models that are depicted on screen. after i get that situated i can work on saving it out to a compatible file.
this is not true. you can start a text file on the resident hard drive- or online and save where ever you want via python. this can very easily be converted to polygon data and then into a model file. this is how the save game function works so… i know that it can do it just don’t have the foggiest how.
i guess i was being a little vague- i need file format that is readily uploadable to whatever printing services that will do it. this includes stl, dae, and obj… all of which are exportable out of blender via a python script…
yes it does in a way. in blender it is a matter of pressing the save button. whoa captured the model data! as i mentioned in point number 1 you can save a text file and that can be turned into a model file.
for all of these reason this makes BLENDER a great choice… oh and by the way someone has already done it. as by demonstrated by the other post on this thread…macouno.com
for these reasons- hope that i have your understandings.
I have the impression you still confuse the Blender Game Engine (BGE) with the Blender Modeler.
The BGE can’t do that. You need Python to save files. Which means Python is doing that not the BGE. If you do not have a BGE Python file it means you have no support to do that. If you want to write create such support, feel free to do so.
Blender supports these file formats already (via importer/exporter scripts). Just use them.
You confuse view and model.
The view shows a representation of the internal model to the user.
The model resides inside Blender.
When you let Blender save a model, it converts the model into a file. It does NOT save what the view is showing (this would be an image). To save the model you do not even need to see it’s representation.
Again: this is Blender not the BGE.
That is what I told you: Blender is the choice. BTW. macouno’s Python scripts are for Blender not the BGE.
All you need is already there … in Blender. Just export the model of your choice in a format of your choice.
I really can’t see any reason, why you want to use the BGE.
everything in blender is run through python- everything… this includes the BGE and it’s modules… there are specific sets of python commands that are geared to BGE but i think they are interchangeable… technically speaking BGE is a call to blender through a python script.
yes i know that- that is why i know that it could work- python is python.
maybe this is ambigious.
the view shows the current selected layers to the viewer- whether or not they reside in that open particular file or not can be debated.
the model could be a referenced model that doesn’t reside in the blender file at all… might be just referenced… this all gets into a pretty weird place… dark magic and all.
if you save a blend file inside of blender it does save the view that you are looking at. this is demonstrated by the preview of the file in windows or by the fact that when you open up the file again you are presented with the same view that it was at when you saved it… i think you can change this though in your settings. i think that you might be confusing my terminology- what you are speaking of is a “render”. in sone instances- like saving or exporting to STL- not only will stl only export the things currently on screen, the layers currently activated, but you also have to have the models selected to have them exported.
BLENDER is the right choice to create a widget or applet or game however you want to call it as opposed to some other cretive program- like flash… macouno.com- take a look at what he calls- shipwright and shapewright these are basically the same thing that i am talking about except instead of making the widget/app stand alone like i want he used the newest technology and put it into a browser with WEBGL… this is a way to get BGE into a website…
lastly- the need to use BGE is not because i want to do that it is because i want to give this functionality to my “customers” that have no understanding of blender. i guess i didn’t explain this well enough. i have the expertise to do this in blender but who i want to give this to doesn’t.
is not quite true - Blender is written i C(++) and so are BGE. The BGE code is also included in blender but are still to some extent ‘alien’. Both BGE and blender use python as a scripting language and most all of blender ui is written in python. However, BGE and blender have two completely different python api:s - and the BGE one is limited when it comes to editing meshes - You can move vertexes, change vertex color and uv coordinates - but You can’t add vertexes, create new faces, create new meshes, deep-copy meshes etc.
If You run a ‘game’ in blender You also have access to the blender api, but changes made through that is not available to the ‘game’ session (except possible by some LibLoad trick). If You run BGE in the standalone blenderplayer You have no access to the blender api:s at all.
I agree with monster - the right tool for Your job is blender (actually, I have come to believe that is the right tool even for level editors, character customization etc in game)!
update: But I would hold of heavy work until B-mesh lands in trunk (I guess 2-4 months) because that will change the mesh editing api in blender.
update2: The way to go about what You want in blender is probably:
find all visible object and merge them
Probable not to much lines of python using the blender api - completely impossible in BGE api.
Python gets an interface to Blender (API). The Python interpreter runs in Blender not vice versa. Blender is not a Python application. Blender is a compiled application by itself. The Python interpreter is used as additional user interface for customization (e.g. the menus). This enables the user to avoid to modify and compile the whole application.
The BGE is not a Python application either. It provides an API to Python too. It is not even the same API as of Blender.
The relation between Blender and BGE is quite simple:
The BGE loads the data of Blender’s memory.
The BlenderPlayer (the final game) loads the data from blend file.
Sorry you might want to debate but Blenders model resides in memory and not on screen. You only see a tiny little part of it -> the representation.
pretty weird places? dark magic? We are talking about a computer program not metaphysical things.
As written the internal model of Blender resides in memory. It is there because it was created by Blender or loaded by Blender.
The internal model does NOT include anything that is not part of this particular blender instance e.g. other games or another instance of Blender.
That means you simply can’t capture your screen with blender. If you want that google for 3d Print screen. There are some applications out there.
It is presented to you because the current view is part of the internal model and saved to file as well.
Nevertheless the BGE does not provide you with saving data. You have to write that code by yourself. You can do that via Python as long as the API provides you with all the data you need, or you need to change the BGE code (C,C++).
I still do not understand where the data you want the print is coming from. The BGE does not create them by itself. It is just processing logic.
As far as I see you want your costumers to order a product at your shop.
Your work is to create the print, isn’t it?
To do that you need the product as 3D data that you can print.
The first step would be to tell the customer what format you can accept.
The second step would be to provide help to get his data into such a format (via tutorials etc.).
Blender can be an help:
it allows model creation
it allows model format conversation
it has limited costs
it is available already!
Your customers are not limited to Blender. You can suggest other applications too.
Where do you think your costumers get the 3D data from?
Do you want to offer modelling services too?
i get the disconnect here…
the parts are already modeled. it works like shipwright. all of the pieces are already made just the combinations can be manipulated… so i am not asking the game engine to create something out of nothing just to pull up the pieces that my customers want. for instance the main idea is to make a “CLASS” ring. you start with a base model. maybe a choice of 5 designs… then there is what you want it to say or display in 3 or 4 locations and depending on what is selected can be any number of things from names, numbers or logos… i could very well compile this myself by either creating every combination that i have available or by request but that seems like a bunch of work and wouldn’t even cover everything that my customers would want.
what i mean by visible is that the models are all loaded into memory and displayed on screen together not just loaded into BGE memory…
this i thought that i could do on my own except for the saving the displayed models into a file that can be read by a 3d printer.
i said that about referencing models because i don’t completely understand how BGE does it- if the final EXE has the all the models in it or if it referenced an outside blend file while running…
for the ring demonstration it is relatively easy with just a bunch of models that have to be combined in a preferred way… i also have an idea about printable shoes and using a configure tool that would adjust shoe sizes depending on specific variables. this bit would go beyond just combining models together but to also adjusting specific models by polygons… say by using bones and armatures- but this only works if the export function that i am trying for reads absolute object attributes not base model attributes.
lastly- about the audience… this isn’t an idea for a designer but for the general public that doesn’t understand 3d at all… but they know it when they see it…