iLogic - A Generative Approach | Autodesk Virtual Academy

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
good morning everyone and welcome to Autodesk virtual academy our once a week learning web casts for all the out of the software you and your team use every day so I'm Nigel and byuk Application Engineer and your hosts for today I'm also joined by Jonathan Creek one of our application engineers here at Khatib technologies good morning John good morning are you I get this afternoon for you you're in Dallas - two hours yeah it's just lunchtime now nice so yeah for instead of his lunch he gets to present for us so hopefully we don't keep it too long John so as of the last couple of months I know that we've done a lot of I logic webcasts specifically the CI logic series of webcast by comics Fitzgerald from Autodesk and we just decided you know keep rolling with that keep that momentum going so a Jonathan creaky our in-house illogic expert at least one of them is going to go ahead and show us some really cool ways that he took as a design approach for some of the problems that he's seen for our customers and John if you want to explain that a little bit more in regard to the genitive generative approach versus like the master model approach yep so when we first you know give a quick synopsis here of myself so like Nigel said I do automation here at Qatif as well as other things vaults and PLM but I've been doing this type of automation for over 20 years with Autodesk products it's been more around 16 or 17 years so that's you know using the inventor API when I logic came out that became a shortcut way to do that so you know that's my goal that's my passion is figuring out how to reduce the design time increase your productivity and get them out quicker to market whether that means that well we'll do the comparison here in a second between this more massal model approach or what we call configurators or there's more kind of generative capabilities that we're going to we're going to look at today and again ask a questions anytime during this presentation just pop open the question and we've got Nathan and a couple other people you know ready to answer those and then we'll have a Q&A session at the end too integrating outstanding questions so our agenda we're going to we're going to compare that model master model that we just talked about which is the more traditional approach to the generative and then we're going to dive right into it others are there's quite a bit of code and I'm going to break down each of the different sections and how we actually achieve this and then later we're going to talk about some packages that are going to be available to you so let's compare what the what we call the master model approach it's what most most of our customers are using and and there's there's no there's no slights to this these aren't pros or cons necessarily it's just saying these are these are the limits of the capabilities and how you have to go about building these models so in a master model it's it's basically what we call it self-contained that means that before you start automating you have to build that model and a lot of our illogic sessions 488 previously have gone over you know sometimes you have to model things a little bit differently if you're intending on automating them or sure you have existing models you may have to go tweet those that means like things like face to face constraints or more geometry constraints may have to be switched to more stable constraints like work planes accesses work features and things like that so you have to go and build that model first and then you generally go through and you constrain all the components including components that you may want to switch out so constraints are not easily adaptable you generally go in you can strain your model for your purpose and then you know later down the road I logic is going to change parameters based on user input that's what we call a you know more of a configurator so it's going to start manipulating components that you've already placed inside an assembly if you have something that deviates from that you have to essentially maybe create another master model to achieve that so with that you know you may be putting four or five different in this example of this chair I might be putting four or five different arms models into this into my master model and I might be hiding those with a level of details or LOD these or I might tell a logic to start replacing those components so you have the other need to either hide or replace those components if they deviate from you know your original design and then when that's all said and done and a lot of our customers that they're completely okay with this right so they're they're going to take this master model they're going to run a logic on it they're going to configure it and then they need to either they don't want to modify that original model so they want to go and actually make some production parts right so for a particular job per se right so we can use design assistant a lot of you guys have volt so you're using a volt copy design process and that's fine but when we start talking about things outside of that scenario where we need to be able to possibly generate three or four different designs that is same at the same time maybe we need to actually run through and generate all the options for a catalog or something you know that becomes a little bit more argue espress to run i logic and a master model on all the different master models that you have and then run it through another copy design process anytime you want to create project specific instances so with the generative idea were creating the components on the fly so instead of a master model we really just have an assembly that has a logic in it right and there's really nothing in that assembly other than some potential skeleton type work planes it may have the parameters and things that we're going to manipulate this and that's very similar to a you know a configurator the constraints are generated and can adapt to different models so basically it's going to look at the models that you place in there based on that configuration so for example in this in this chair if I put this in as is it's going to go okay so these are the constraints that I need to put this thing together and turn off all the degrees of freedom if I change the arm out to something else it's going to look at a different constraint set with the master model you know you can replace components and as long as it doesn't deviate from that constraint scheme you're fine but if it ever does and if you've ever done it you'll know that your constraints may blow up and so that's why a lot of times people separate those two things into different models so they have one constraint set for this scenario they have another constraint set for something else so instead of just doing that upfront we're actually going to dynamically create those constraints based on the models that come in and then we're only placing the components that are needed for that configuration so you know let's contrast that to the master model approach where we might have to be hiding certain components based on certain conditions we have to replace components again anytime you're place I component you have to you have to worry about you are these constraint it's going to blow up or are they going to just be fine so those components will only be placed in there that we need and we have nothing else in there that also keeps her models pretty lightweight right so if you have a very large assembly that has 25 different scenarios you know or variations having all of those in one model is you know it makes it pretty heavy whereas this is just exactly what we need and then the final thing is a comparison is that we have the capability using the inventor API along with AI logic to make copies of these components of the assembly and rename them automatically not just the browser name that you're seeing inside an inventor but the actual physical file name and so in our example we're going to use a project number two two and a project folders you know that's conveyed the folder is going to be generated all the parts are going to be generated with this particular project number so let's actually dive into it this is going to be the Blunt's of today's session and I'm going to start out by just opening inventor there's really nothing else open I've taken this this templated approach so it's easier for users you can absolutely just tell them that we've got this particular automation assembly that you can go open but we can sense templates an inventor are really just there's really nothing different about those simple it's there just happened to be in a template directory right so I'll go up to start new and I've been an actual automation folder and so we have this master Qin assembly so I'm going to start by showing you what it actually does and then we'll dive back into the code and figure out how we actually accomplish this so when I opened this assembly is you know it's instances started a new assembly assembly seven ok it's automatically been pulled to launch this I logic form and there's really two simple things in here now if you looked at some of the other sessions we've had you know that you can add as many options and things in here to this form as you want right so you can add different parameters that will after this thing is generated it'll function just like a normal configurator where it'll actually use a logic to manipulate parameters a lot of that is you know as out there we've provided some code for that and examples of how to you know modify components based on constraints so this is going to this is going to focus more on the generative capabilities the first thing is the cheer series so this is a way to kind of deviate from if it's a standard it knows that there are certain components that it's going to need to go generate or grab you know so for some components they may just create one from scratch or if it's a you know a bolt for example that's a standard or something it'll go out and grab that that standard bolt and place it in here versus custom we have different parameters and stuff for custom the main thing here is this order number we're using this order number to give all the files a project specific name when it creates those copies it's going to go out and number one place it in a folder under the in this case the Volt's structure for you know that particular project and then all the names in there you're going to see that all the files assemblies and everything is going to be based off of that new name so let's let's figure out a number for that let's do 8 6 7-5 309 and I'm just going to hit generate and this is going to go pretty quickly but I think when we start looking at the code we can break it down a little bit further and you can see how these things are placed so this model is of you know it's a pretty simplistic chair but the combinations are absolutely pretty infinite so all that happened in just that one go let me turn off the work planes and visibility here is that we're no longer in that template instance of assembly seven we're actually in master chair 867-5309 if I look at my my path for that assembly we're in a project specific folder with that same number okay so we've moved away from the template and we use that as an instance to now you know dynamically create this assembly in this assembly we now have two arms we have a seat and we have several different bars that are in place here right so four supports back in the lower and then the top so there's six components that are in this type of assembly but really the combinations are endless this could be a you know 25 different seat types there could be different shapes of these things and based on those potentially all the constraint systems might change so that's where we're talking about the strength of this is that that quickly we can go out and grab those components we don't have to have them preassembled because we're assembling them on the fly using constraints in the inventor API and then further down the you know the last part is you know actually manipulating parameters if need be so maybe this component isn't I don't have four different parts necessarily for it maybe I just want to manipulate the parameters for that and all these components were out essentially in standard parts or places but it has looked at this particular configuration and went out and grab those and created again if we look at the pass for these things they're all project specific now so we've already done the copy nine process within the generative process the creationists and the constraints all in one go so the first code is on open this is pretty simplistic that we're all really telling it as you start the template we just want to we want to show that I logic form we want to present that to the user okay and that is in this section over here with form so it's really as simple as just you know clicking on show form filling out the name so that's that there's really nothing major with that the next part is the master and this master is really really we could break this out a lot a lot further but it's really kind of our master rule and so I'm going to kind of go through each section and kind of explain what you know what sai logic what's inventor API what the logic what is actually we're telling it to do so the first part is we're doing some directory checks okay and so this is the inventor API this is the syntax if you've ever used VBA you know everybody at Autodesk and really a cat even a lot of other companies use VBA inside events or inside other applications to do development the reason for that is that we do we have intellisense right so if i start clicking on if i type this out and I hit this application and then dot it will give me all the available options right for that so it helps you write the code the other thing you can do to get this type of syntax as you go up to the help section over here and you go down to help and then programming API help when you open that up this is going to this is not necessarily going to give you a logic syntax but what it will do is the syntax for how the API works and really I logic is that shortcutted API with you no more with dotnet capability so it has a lot more capability than just you know VBA but it still includes the Vil or the inventor sorry API so there's two different kind of ways to get this syntax but I want to explain really what it does so we're assigning assembly dock as an assembly document object type so that's assuming that that we already have an assembly document open that equals this application that's the inventor application and it's active document now you could add a bunch of air checking in here to say if it is really an applicant you know assembly document and go ahead and hide that or you know assign that if it's a part document maybe give an error or something and then we're actually assigning its component definition so we're going down further down into the assembly they get the component definition under that component dismiss we have lots of things we have the ability to look at parameters we have the ability to you look at its children essentially write components of the assembly and this assembly that we are attaching to was really initially that first assembly template that we opened so basically we already have past transition to past that now the second part is we what we want to do is we want to get the work planes of that original assembly okay and so we're assigning transition geometry this just gives us an ability to create proxies for work planes something that the program can attach itself to now you could name these this is just assigning a name master assembly plane XZ to the first work plane you can actually list this out if it has a custom name right so we're just assigning it to the first three planes here we have some additional planes here and again we can call out the number if it is you know since we're generating this on the fly we have the ability we already know that the first three planes are going to be the the original aims and then the next four planes are going to be planes that we're using as far as part of our skeleton so there we can add those numbers or we can actually define the actual name of the work plane and we do though further down inside the code the next thing we do is I'm looking at and this is going into dotnet this is going into Visual Basic it's not necessarily part of the inventor API it's just something that the in I logic can tap into okay so I'm giving it a path right it's going to be a job specific folder and then based on that order number that we entered into the form I'm just doing a system IO directory exist so basically I just want to make sure that this path exists if it doesn't exist then we have a clause for it right so we want to create that directory if it doesn't already exist so we're doing a simple if statement to say if it exists fine don't do anything with this if you know else go ahead and create that directory okay the next part is we're actually and this is really the kind of the key to this it seems really simplistic when you look at the code but you see what we've achieved and there's actually a couple different ways to go about this but this is the one that's most consistent is again we're doing a file instead of a folder exists we're doing a file exists and we're basically saying if this assembly has you know this path here this order number which is going to be our new assembly that's the new assembly we're creating and obviously this path can change you know we can have dynamic paths right now we're just offsetting that path with a specific order number off that original path so we're saying if this file already exists then that's fine otherwise we're going to do this document now this is I logic syntax this document save as the master assembly which is our string here and so it's actually going to take that assembly template and it's just going to do a save as a into that project specific directory at that point we just have a brand new assembly that's now project specific for us the next part is and you can break down your code in sections with these little this is the syntax so it's just a the bracket and essentially the comma essentially which allows you to kind of hide these sections because these sections seem to get quite long so the first section is we're actually pulling in the arm and we do the same thing we did essentially before is we're going to give it a path and then we're going to make sure that if it doesn't exist that we're going to go ahead and create it and so some of these actually you know already exist it's just going to start creating these as we go along so you know we're hard coding the path to where these these components are there are dynamic ways to get those components are defined those components you know but this is the the most simplistic way I think you'll get the concept of yes we're hard coding it now but you could do other things with it so for this example it's just hard coded obviously we're doing a little bit of error checking so if it you know if you can't get that can't save that file if it can't find that file we're course we're telling it the are more exists or doesn't exist there's a part creation error but then at the very bottom what we do is we now open that is that you know that actual document and then we do a save as okay and what this is doing is actually going to be placing you know it's going to be opening that component it's going to be doing a save as and it's actually going to be placing it into the assembly so the next part is we're going to assign OCC as occurrence so we're trying to grab this new occurrence that we just saved and occurrences add so under that same assembly definition that's that assembly we have here it's going to look at its occurrences and the function just is at so this would be the same as if I just said hey go out and find this component and place it in there so this is just placing at zero zero zero in here and it's going to give us a opportunity now to go and constrain it so the second thing we do is when you place a component generally like this it's going to be grounded so we want to turn ground it off because we immediately want to constrain it without really any input from the user the next section is I'm defining as a work plane and you notice the work plane is coming up in purple okay so I'm assigning a variable on a place holder a string for this particular work plane and we're attaching ourselves back to this armed occurrence right and it's definition and under its definition similar to a component definition we have access to word planes we have accessed a lot of things under this definition but we're going to attach ourselves to word planes and these are actually calling out the names of the word planes inside of that part right so we're just assigning we're going to grab those essentially the next part and this is this is a good concept to understand and I know Autodesk has several different examples of why this has to happen assemblies are really just windows right there essentially databases into the parts so when you want to apply a constraint from a part back to an assembly there has to be a middleman there has to be a what we call a workplane proxy and so that's exactly what we're doing here is we're assigning some more names to a workplane proxy so it's going to create this object in between it and then it's going to enable us to make a constraint between a work plane inside of a part or you know really any object inside of a part to back to it's this um to this top-level assembly so it's assigning the work plane geometry this is where we're actually creating the geometry the proxy geometry so that's that original work plane here and then we're assigning it to that to that proxy again the work plane for assigning a proxy so let's just make it a link between the two essentially the next part is we're going to actually execute constraints and I would encourage you to potentially take some of this code and look at under constraints your options right so you have all the available options as any other if you were going to go constrain this manually you would have flush constraints may constraints angle constraints things like that so we're just applying some simple May constraints will notice that we're assigning it back to the assembly work plane and then our proxy not we're not going directly to the work plane in the part but we're assigning it to our proxy ground plane in this case the next part is actually the offset right so we're going to do a zero in some cases you may just want to have an offset you may want to say that this is actually you know five millimeters or something off the ground or offset in that way so you can you have that ability to not just you know go zero to zero face to face with these word planes but you can offset them as well the last thing we do and that is fully fully placing creating and constraining just that arm component okay the last thing we do is we just tap into that this application the command manager the command manager is actually really cool because a lot of these buttons that you click inside and enter they're actually accessible there's an actual command that's triggered in the background so when I set you know f6 or or I use my view cube for isometric view we can actually just trigger that without much trouble so the next section is we're doing the the arm the other side of the arm and it's exactly the same the only differences here and I'll kind of walk through this a little quicker is that we're assigning it to the second instance again since we're generating this there's really not much ish there's not many times when I'm going to get a component that I don't already know about that I don't that I'm not expecting so this is the second you know the order of operations I know that I'm going to place two arms first so this is we're catching ourselves to the second occurrence of the assembly and then the code is exempt accentually the same down here we may change a mate in a flush constraint we may switch a flush to an aide or something like that the cool thing about this is that when you generate this and you get your finished assembly if you go through you see an error with a mate or a flush you know normally when you're constraining manually just using inventor it'll give you an error like hey I can't do this because I'm flipping the workplane and they will make you change that right so we can just generate it and if you do generate that and you realize there's a there's a problem with it then you just come back to your code and say okay well for whatever reason it was pushing this side versus this side let me change that mate constraint to a flush constraint okay and we are using offset here so this is a good example of an offset one tip on this is that whenever you put a number it's going to be in centimeters okay so that when you deal with the adventure API it's always going to be centimeters if you want it to use whatever document units that the the assembly or the part is already using you need to actually put it in quotes and make it a stream okay so rather than putting just 590 in here that would come as 590 centimeters but since I've put it in quotes it's just going to use you know whatever the document units are in this case millimeters to to apply that and that's also this function you know constraints add flush constraint add make constraint it tells you in that API documentation how you can switch that now we do the seat and really all the thing is changing here is the past that we're going to create the parts to as well as the where the components are coming from these all have very similar work planes that we're using they don't necessarily have to you now everything has to be from the original mid plane to mid plane back playing the back playing ground you know the original planes don't have to be used here and so we go down to the bars and this is where it gets a little bit more more complicated is that we are actually potentially deviating from from the original and maybe we're taking custom work planes these were complaints going to anything because now we're naming them by name so it's just going to find a work plane with the same name as mid plane backplane ground plane you could call it really anything offsets things like that when we get down to these lower bars that are actually drilled holes we have some edge planes right we have we have the mid plane and back plane we have certain edge planes so I'm just kind of deviating and really how I figured this out as I assembled this manually to begin was now that's you're saying that well if I'm going to assemble it you know manually to begin with you know to in order to figure out how I need to program this you know then what's the point of doing it that way well you know this has the capability to build that over and over and over again after four different scenarios so you might be playing with it a little bit to get what work planes or what work work planes you need to actually constrain things but I think as you understand the code a little bit more you do less and less fooling around in the model and you just do more straight programming inside I illogic and using the inventor API and so this really repeats itself where we're doing the same procedure in order of operations that we want to constrain things at the very end of this once we've established that everything has been saved in place and created then we run a not external but we run another rule that's called push matching values and what do I mean by that pushing matching values so when we when we created this assembly when we have that first initial dialog it asks us for two things the chair series and the order number so one of the cuesta Murs is you know I want to push properties down to these other parts and things that I do and it's never more important than when you're dynamically and generatively creating something is I want that order number to care you know if it's a project number or order number I want that to be in all of my parts and components so that if I ever grab one of those things I know where it belongs at as well as any of the parameters that I want to control these parts with I don't necessarily have to use I logic to call out this specific component and change that value because this component name may actually change the browser name may actually change this is all dynamic right so one of the ways that we can do that digitally is I could just put these whatever parameters I want to change so I could put you know chair Heights in here whatever is inside your master assembly here or your top-level assembly is going to be carried down to all these components and so let's look at that really quickly it's pretty simplistic but it's basically saying we're sign to this assembly definition again this active document we're going to look at the occurrence we're going to look through all the occurrences okay so we're going to say for each occurrence in occurrences that's just going to loop through all the parts and things that are in this assembly and it's going to say that basically if the parameter name any of these components matches the parameter name inside my cop level assembly then go ahead and set that value okay so that's a really quick way a very simple function essentially to enable me not to have to dive down into components constantly or remember the names or hard-code the names of those components that they may actually change right remember we're using a project specific file name so that becomes a little bit more difficult to target and change the parameters whereas the normal eye logic way of changing parameters so this is just going to copy those values down from this assembly to those components vary if the name matches of course okay that's what we have this try-catch statement in here to say that just we're going to set the name if it matches essentially and it's not going to air out it you know if we have a problem with that there's other ways to do air tracking on that but that's one of the most simplistic ways is just to set the parameter and don't apply anything under the catch statement so that runs so down inside of any of these components that are custom way created if I go on to the parameters I'll get the cherry series and order number so that could be manipulating all these parameters and stuff too so that's the more configurator part of it right switching those parameters so but we don't really have to do a whole lot there we just have to make sure the names are exactly the same and then at the end of our master rule we do a little bit of cleanup where we so we set the we set the isometric view again we've been setting the isometric view changing the view every time we place a component and then we're doing rules parameter output for any of the parameters that we want to change and then we're updating the document so that is why I have the show um for you today and we're going to switch back over to Nigel and I kind of want to touch on it just briefly we've got a lot of requests from our customers time and time again to get coding samples and so we want to oblige that in the best pop way possible and not just for aya logic but we're actually going to carry that forward into all of our applications we're going to start offering Khateeb automation packages I think the names pending but I think it encompasses what we're after so right now today we have this code that we that we just went over this assembly this entire package we're going to provide to you okay in the future and we've got some a lot of other things in the work so we're going to be providing these code packages as really samples it's fully working examples for you guys and that can include risk whisper teens and AutoCAD it could be VBA an adventurer AutoCAD it could be using powershell for vault JavaScript for PLM there's lots of different things that we we want to provide to you that are really specific coding examples there is really generic and I think that's going to empower you guys to start playing with this code have a working sample that you can go hey I love this this you know this uh degenerative design concept and I want to take it and play with it and you know see if I can come up with something right and it's in it obviously if you have any questions with this at any point you know we're available to help you with that and you know we want to kind of extend your capabilities so the use cases for this is right if the configurator approach you liked it and you say well I just have too many different variations right so basically build all this stuff at once and you need something more like that then you know you can look at this sample code and potentially you know get an idea of what the effort is involved with that I mean yeah there are like five or six people who mentioned already in the questions that you know they'd like the sample of this code that is pretty resonant with all of the other I logic topics that we have done in the past and yeah so we just want to oblige to that and the able to address some of those questions because most of the time we can't give away that information seeing its proprietary information or like projects that our team has been working on for customers so luckily we're able to come up with solution for you in which you know you can use this plug and play code you can just insert it into your file sometimes depending on what it is and to be able to start running with it you can see the examples that we have and comment on it so you can see you know how I want to build this on my own to you know address my design issues in the same way that people here at Katif have kind of automated those problems and three you can use that code to teach yourself I'll help you understand how the code was built and then why we use certain things over others so uh so like Jonathan mentioned if you do have any questions for us um from this webcast so I already noticed some people have been starting to put them over into the questions panel but uh go ahead and add them if you do have any additional ones I think we've already addressed the hey can I get a sample of this code question with the last couple of minutes here but there are a few more here pretty important let me go ahead and run through these forests Creek first one is there a way to for inventor API to search a vault database for existing components okay so I am the ihwaju can really the inventor API is is really its scope is inventor okay so vault has its own API now that's not to say that you can't create a dotnet add in and use the inventor API in the Volt API together but you'd really have to create that to accomplish that I logic has no capability to interface with the vault API so generally with these types of things you know we make sure that if it's in volts that we pull out these components at their templates we make sure those things are pulled out you have those available to the program and then we run the program but I thought to say that that capability isn't possible it's just not with I logic today and the inventor API certainly certainly there's another vault question can I use vault auto numbering schemes with these dynamic file names that you use dialogic to generate so that's one of the areas that is kind of the is the caveat so the Volt's auto numbering there's really not even it with the vault API there's not a whole lot we can do with that but since this is you know we're doing this all for inventor there is a data standard and data standard is annexed in a way to extend the interface and essentially some of the capabilities of inventor AutoCAD and adventures so we can absolutely use data standard to tap into the Volt's numbering scheme and then pull that into our automation so that's definitely a possibility alright so let's keep on moving here um in regards to the dialogic or automation packages um how is the delivery going to be what's the deliverable there is it can be a link to download is it going to be a flash drive Creek view do you know the details of that so it's most likely going to be available online will will probably build those into zip files make them available on the website you know I use I'm used to keeping my code in something like github or bitbucket I like that bucket a lot so for the code itself you know we there's multiple different ways we can apply that but since it's already inside the models you know what I wanted what I'm getting at there is I can provide these this assembly with this code but if I ever update that code you know you'd have to essentially go redownload that right if somebody said hey degrade that was in there you know something like bid bucket being cloud-based if I update the code everybody can centrally get that code immediately so there might be multiple platforms there might be an initial platform that download the assembly the parts in the I'll object that's embedded inside the components and then there might be something like bit bucket for ongoing code improvements Zen rhythms yeah and I you know depending on what kind of automation it is going to be it's going to be put up in a different kind of way because obviously not everything's going to be inventor I logic assemblies we're going to jump into to JavaScript for PLM and things along those lines too and those obviously you know depending I want to do that can't live in the same place or at least not optimize deliver the same place sure absolutely and then we just got a comment impressive I didn't realize I logic and vba could be used to generate components I thought I could only modify existing components definitely thank you for that comment and yeah so hopefully we open some eyes today as to you know the power of some of these tools and I logic and inventor I know like for me personally rule of thumb is generally the inventor API can do whatever you can do as a user and inventor you just have to know how to do it and where that command lies somewhere would you consider that correct as well John yeah and to the into the points quite the point of the of the last question you know a lot of like I said a lot of Autodesk and and obviously I and a lot of Khateeb employees start in VBA and the syntax is the only thing that changes on VBA you're saying you're calling something and then you're setting it you remove this set and I logic and you know we can condense that code down by looking at this example you don't necessarily have to call the name twice like assembly is this type of object and assembly equals this object you just say assembly as OP you know type equals object or object equals something so it's it's simplistic but it really is the same API that you would use in in VBA and inventor in dotnet as well so cool so we've got a couple more here else hopefully we can address all of these before we end today does AI logic and inventor API have the ability to tap into this stress analysis functionality built into inventor into the stress analysis and then I don't know I've never tried to use the API for that I would say uh let me look at that you're welcome to look at that that section that API help section that I showed you and if it's not listed in there that I would say it's probably not but we can also follow up on that and see if there is any capabilities this initially automate that stuff but I don't I think I don't think I've seen anything in the API for that yeah I don't remember seeing anything either I've looked through that list and I've got a giant list on the ungrate desk here I just looked and I didn't see anything that stuck out to me I'm in regard to things that it doesn't work with I've heard in the past generally Toobin pipe and frame generator are things that I logic tend to have some issues with do you want to address that yeah so the the frame generator a lot of those those environments those tools those generators you know they're their own separate programs essentially that are running iron Nathan's enter so inventor really doesn't have the ability to you know you could definitely trigger those right for the commander you can trigger any of those those commands just like you're pressing the button you can do that just like we changed the isometric view by using the command manager in our code but manipulating the values and things of that we can't tap into that now that's not to say that once you've created those components you can't you can't do everything but you can still manipulate them like the regular components or parts to a certain extent some of them are read-only like frame generator parts of their lockdown parameters and things like that structures lockdown but you can still manipulate them constrain them if you want to right using this method yep and then uh just last but not least creaky mentions uh intellisense at the beginning of the webcast here is there a way to trigger that in IEEE logic and the editor specifically trigger that on and off so there's no way currently to do that inside aya logic and that's why a lot of us use VBA or even Visual Studio for that intellisense now later down the road that is something that Autodesk is looking to improve I illogic so this is the future guys you know I logic is going to be the platform from here you know burly here on out it's going to have more dotnet capabilities it's going to have potentially at Ellison to help you write the code better so there's not really any you know any any time frames on that but that is what they're working towards right now so right now it doesn't have it but to tree probably well certainly certainly and I know that's something that they've been working on for the for the new releases I know that I've talked to a couple of people on the Autodesk product manager side of things and that's something they've been looking to improve for the last couple of years so definitely be on the lookout for that or even be part of the beta program and be able to see it first so that's another thing too so if you are interested in the beta program let us know we can definitely get you connected with the right kind of people with that we also did an event last year called inventor insider which is like an autodesk gunslinger in which some of some users i know i see some of you here inside of the attendees list attended and got to work in the 2018 release pretty much of inventor late last year so even like months before it came out and test its capabilities things like that so expect to see something like that from here from Qatif in the next few months or so and a couple more questions last one here um what about I logic and Domino Creek anything about that so I logic is and that's where I think you know people don't know you can tap into the inventor API but you can also you know I logic is dotnet capable and what that means is really anything on your machine now that doesn't mean that the AI logic is going to have a specific function for that it let go Excel that's an example of an AI logic specific function that accesses excel but you could actually absolutely use visual basic code or anything else that the dotnet can access so if you can pull in a reference the domino you can absolutely use it with it right it may not be the most efficient because now it's pulling something else into the inventor application whereas dotnet would potentially be outside of inventor application so you kind of have to worry about you know utilizing your RAM in the session not crashing an adventure and things like that when you start tapping into those other api's definitely and I forgot to comment to Creek um you're part numbering scheme is quite clever I just wish you would have sung those numbers instead it really interesting yeah you won't hear me swing certainly so um for those of you who maybe this is your first dialogic aviate excuse me we do have tons of content on our YouTube channel it's probably like four or five hours of I logic specific content maybe more than that on our YouTube channel that's going to be youtube.com forward slash conceived technologies or if you just go to youtube and you search QT viologic you'll be able to find all of those videos it's probably four or five and we're in like fulfill of our logic series with politics Gerald so definitely go ahead and watch that playlist on our channel if you are interested in learning a little bit more out a little bit more about ilaaha Kanda you know how it can help you and how you build your designs I think that's everything here Creek but if you do have any further questions anybody go ahead and give us a call at the number below or shoot an email to questions at Khateeb comm and for those of you who did let us know that you wanted to see more contact for the automation packages we'll be reaching out to you shortly so Creek I just like to thank you for being here today Nathan as well for being in the background helping us answer some questions anything else you want to add before yo Creek uh what's automate the world guys there you go maybe that's what we we call this presentation in the future so uh well we'll see y'all next week for some foreign 5-axis cam capabilities in fusion 360 ultimate if that's something you do in your office you do machining at your warehouse or your facility I want to be able to leverage some of the power of a 4 and 5 axis cam without having to you know buy a separate program even fusion 360 is there for yet so with that I'll let you all go today thanks Creek for being here and we'll see you all next week you
Info
Channel: KETIV Technologies
Views: 4,908
Rating: undefined out of 5
Keywords: Inventor, Autodesk Inventor, KETIV, KETIV Technologies, KETIV Technologies Inc., Autodesk Inventor 2017, Autodesk Inventor Professional 2017, Inventor 2017, Inventor 2017 Professional, Inventor 2017 Pro, akn_include, AVA, KETIV AVA, Autodesk Inventor 2016, Inventor 2016, iLogic, Inventor iLogic, AVA: Introduction to iLogic, Rules Driven Design, Design Automation, inventor 2018, Autodesk Inventor 2018, Generative Automation, Generative Design, Ilogic Generative
Id: qrz2S4bbL5U
Channel Id: undefined
Length: 48min 54sec (2934 seconds)
Published: Thu Jun 22 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.