AutoCAD .NET :: Creating Instance Of COM Component
Jun 29, 2011
(visual studio 2010 c# and AutoCAD 2010 )
I`m trying to open a DWG file as follows.
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.Interop.Common;
AcadApplication gbl_app = null;
[Code]...
and I get the following error
System.Runtime.InteropServices.COMException (0x80010001): Error al crear una instancia del componente COM con CLSID {6D7AE628-FF41-4CD3-91DD-34825BB1A251} desde IClassFactory debido al siguiente error: 80010001.
Retrieving the COM class factory for component with CLSID {28B7AA99-C0F9-4C47-995E-8A8D729603A1} failed due to the following error: 80040154.
AutoCAD 2013 is installed but no license is provided (there is a 30 day trial period). I am trying to launch AutoCAD.
In C:WindowsAssembly folder I can see the Autodesk interops:
Autodesk.AutoCAD.Interop and Autodesk.AutoCAD.Interop.Common. Their version is 17.0.54.0.
In Component ServicesComputersMy ComputerDCom Config I can see an enttry - AutoCAD Drawing. Its CLSID is: 6A221957-2D85-42A7-8E19-BE33950D1DEB.
I`ve read that the exception is because a 32bit process is trying to use 64bit DLL or vice versal. I have compiled my program in both 32bit and 64bit but with no results - I am getting the exception in both cases.
Sometimes when I drag a new symbol instance to my artboard and resize it, the instance looses it alignement with the pixel grid.
This happens despite the fact that...
I checked the box for pixel grid alignement when I created the documentthe symbol option is set for align to pixel gridthe original shape in the symbol is aligned to pixel grindthe original shape has the align to pixel grid check box in the transform panel checked So why when I resize the symbol instance does it break the pixel grid alignmnet and result in a blurred 1px stroke?
I am attempting to create a packaging mold for an 'item assembly' which I have created in AutoDesk Inventor. To do so, in a new 'mold assembly', I made a solid rectangular prism with the assembly constrained in the middle of it. I then import this new 'mold assembly' through the 'derive component' option into a new part and make Inventor subtract from the prism the shape of the 'item assembly'. This gives me my mold, however I am not sure how I can erase the original 'item assembly' that was placed inside the prism (which is now a mold), for it still remains after the derive component feature has been executed. How I can remove it?
I would like to create a family component using the wall foundation bearing footing as a template. I cannot find the file where the templates are located. I tried using the structural footing template but it would not give me the same flexibility the wall foundation bearing footing template does.
We are having an issue when we replace a component in Inventor Pro 2012. When we replace a component, the name in the browser does not update to the new component. We've even tried to close and re-open the Inventor assembly and that does not work. We end up manual double clicking the name in the browser and type in the new component name.
Inventor Product Design Suite Ultimate 2012 Dell Precision T7500 Workstation Xeon Processor 16 GB of RAM Nvidia Quadro FX 5800 Windows 7 x64
II need a way to tell if a component occurence is a virtual component.
I'm using a For Each loop to cycle through all of the components in an assembly, and if the component is itself an assembly to set the LOD to "Custom". I'm using the definition document descriptor object for this. It all woks fine until the loop comes across a virtual component which doesn't have a definition document, so I need a way to check if the component is virtual and needs to be skipped.Here's the
Option ExplicitImports Inventor.LevelOfDetailEnumSub MainiLogicVb.UpdateWhenDone = TrueDim doc As AssemblyDocumentDim oLOD As LevelOfDetailRepresentationDim oAsmCompDef As ComponentDefinitionDim oComp As ComponentOccurrenceDim oComps As ComponentOccurrencesdoc = ThisDoc.DocumentIf. [code]....
I'm looking for the best way to create a separate assembly out of various component parts in an existing assembly so that the whole thing can be placed in an assembly as you would a part, I know it's possible to demote components within an assembly but are there any other methods similar / better ?
I am trying to make port rims for pipes that can be swapped in and out of an assembly. However, the ports will all be different sizes and located differently so I need the cut to be part of the port rim component, but affect the entire assembly it is part of. I've been trying to get this to work for the better part of a day now,Here's a picture of what im talking about. I'm running Inventor 2008 by the way.
I'had just met another matter for my Add-on. I noticed that when I instance a new drawing, while a first one is opened, when I load a new Form, this one keep all first drawing's properties. What could happen?
For example, I would like to add the layer list on a ComboBox.
My source:
Private Sub LayerBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '***************************' '* Initialisation LayerBox *' '***************************' Using acTrans = acCurDb.TransactionManager.StartTransaction() acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead) For Each acObjId As ObjectId In acLyrTbl acLyrTblRec = acTrans.GetObject(acObjId, OpenMode.ForRead) ComboBox1.Items.Add(acLyrTblRec.Name) Next acObjId End Using End Sub
This source works, but if i instance a new form on a new drawing, the first drawing's layer list is kept and the new layer list on the second drawing is ignored!
I have created a block which contains various part numbers, with a description and some other bla bla, with a total number box, I issue this to clients to make the specification of product much easier. My idea was for people to use the quick select command to find how many instances there is of an object within the drawing.
As this is a slightly tedious process, as you have to physically type the part number then mentally take one instance off as it counts the number in the legend block as well.
Is there an addition/summary of object instances command I could use to make this process more dynamic and straightforward for the recipient/user of the block I issue?
I have a situation where it would be expedient for me to be able to bind only one instance of an xref and leaving the others intact. I have to do this for several different x-refs. Is this possible in Autocad 2008? If I use the xref manager I can only see an option to bind the entire reference.
I'm trying to insert a new instance of a X-Ref already present on the drawing. If i use Database.AttachXref(path, name) I receive "ref NAME has already been defined. Using existing definition." on the command bar. I've tried to retrieve the ObjectId of the X-Ref definition from the X-Ref name, but my code don't work. Where is the error?
Here's my
Private Sub AttachXRef(path As String, name As String) Dim Doc As Document = Application.DocumentManager.MdiActiveDocument Dim Db As Database = Doc.Database Dim pPtRes As PromptPointResult Dim pPtOpts As PromptPointOptions = New PromptPointOptions("")
I'm getting a "NullReferenceException. Object reference not set to an instance of an object" using:
For Each SetEntry As DBDictionaryEntry In SetRootDict Dim SetEntryDict As DBDictionary = CType(SetEntry.Value.GetObject(OpenMode.ForRead), DBDictionary) Next
I have the same lines letter for letter in a different procedure and referring the same unchanged root dictionary where it works fine.
I just re-installed windows and all the fine (PITA!) trimmings. Now, when I open a file (any type) for Inventor thru windows explorer it opens a NEW instance of Inventor everytime! This is a HUGE system hog, waste of time ect ect.
How can I correct this to just open in the instance that is already there?
I want to create some modules for a platform deck. The modules are made of C5x6.7 channels in one direction, L2x2x3/16 angle stiffeners in the other direction, and 3/16" deck plate on top.
My "drivable" parameters will be length and width.
The modules will all be different sizes, so I need to be able to have every instance of the assembly be different.
The workflow I was attempting to do before I got stuck was this:
1. Create a skeleton part (just a sketch) with Length and Width parameters.
2. Insert in an assembly and use frame generator to build the structural shapes (channels and angles)
3. Insert another part (the 3/16" plate) that can reference the length and width and adjust to be the correct module size.
Is there a way to make parts in an assembly all follow the same parameters? More importantly, can each instance of this assembly show up differently and be adjustable when I place these modules in my main assembly?
I don't know much about iParts - but it looks like an iPart lets you choose from predefined dimensions - I want something that I can custom input any size I need.
I'm struggling with accessing multiple AutoCAD 2007 instances via COM. I have tried retrieving objects from ROT using monikers, but only succeeded in getting AcadDocument objects only. Is there a reliable way to achieve my goal?
I've been tasked to turn our 2D cad dwgs to 3D in inventor.
I'm working on a frame at the moment, I got all the square and rectangular tube from the CC and constrained them to match the CAD dwg, now I need to add the mounting holes but if I add holes to one copy all the copies get the holes.
What option can I use to make each instance stand alone?
I would like to generate a rectangular pattern of extruded tubes which have an internal radius that is proportional to the distance to the centre point of the pattern. Or in other words tubes which are narrower in the centre, and wider at the exterior. Is there a way to do this without resorting to creating each tube individually?
More generally, is there a way to parameterise a feature dimension/parameter so that it is a function of spatial position?
A circle on layer CIR having a color of red... A defined attribute on layer ATTR having a color of white... The insertion point is the center of the circle...
Is it possible to change the circle to blue on one instance of the block without affecting the same change to other identical blocks in the drawing? Example:
sometimes when using constraints the "movable" part is fixed after adding the first constraint.
If i use i.e. a surface to surface constraint the movable part should be free to slide on the surface.
To move the part in this case I have to add further constraint or delete the old one.
Furthermore sometimes constraints in assemblys do not update automatically. I have to click on the part and try to move it away. After releasing the part the consraint will be updated.
Are there any options to control or better change this behavior?
Whenever I attempt to open a non-native format file from outside of Inventor it launches a fresh instance of IV. Currently I've been working around it by dragging the file to the status bar of IV, but at least a few times a week I forget and double click it.
Some scouring of the web and these boards yielded some info concerning this problem as it pertains to native formats, but I haven't been able to find anything for neutral formats. I'm sure it requires a registry key tweaking, but I'm not comfortable enough with regedit to go in there and just start changing stuff without some level of guidance. The problem occurs whether the files are opened from windows or an internet browser (tried firefox and ie). I suspect that every format I ever wanted to open would require a separate edit, in that case I'd be perfectly happy with just a fix for .step files. That would at least have me set for 90% of my downloads and offer an improvement to my overall sanity level.
Ever since installing SP3 if I double click a file out of the file system I get another instance of CD open with the correct page size but no graphics in it. I then have to close that CD session and drag the file into the already open instance of CD... no biggie but annoying as I double click out of the file explorer all the time.
I'm having trouble with the Revit ribbon not giving me the normal commands. For example, I'm trying to place a water closet family and the modify ribbon is giving me "Import Instance" instead of placement options (as in placing on a face) like it did just a couple days ago. I was placing these water closets in this same model just a few days ago and it was working fine. I've imported a few DWG files since then and now I'm getting this behavior. how do I undo it?
I'm not talking about simply making a layer folder with various elements grouped inside. What I'm trying to do is create different screen instances of a website using a feaure that turns on specific layers, allowing me to save that "layer visible" combination. I did this a few years ago and now cannot remember how it was done. To give an example:
I have a layer folder called "main navigation" in my Photoshop file. This main navigation folder has tons of sublayer elements that include the menu itself, hover states, drop down states, etc. I have another layer folder that contains elements for a specific web page.
What I used to do was this: I could turn on one of the specific web page folders, then turn on the active state element in my Main Navigation folder. So now the page looks as if it would for that specific screen instance. At this point, I was able to create a "Layer Group" that saved this specific set of layers that were turned on (visible), and name it.
Does this feature still exist in Photoshop? I can't seem to find it anywhere, or find any documentation on how to implement it.
Let's say I have a some footage in one project with all the effects, fade-ins/outs etc I want and I want to use the very same thing in another project. How can I get only this one part from project A to B.
Open a second VS don't work out of the box. It just goes to my already open window, if I try to open again. I don't want to convert is as a Video first - if I ever want to make changes this might make it more complicated - depending on the situation.
Some of you might also have encountered the nasty issue of CorelDraw (CorelDrw.exe) to open a new instance of CorelDraw for every CDR file being double-clicked for opening. After twiddling around and searching the web, I finally found out that CorelDraw.exe is case-sensitive for DDE commands. As such, using the DDE argument 'Open("%1")' won't do anything.The solution for CorelDraw X4 (CorelDrw.exe) is: