Solved! Go to solution

How to Insert image on a draft ?

Hi, everyone.


I'm inspecting the draft objects(DraftDocument, DrawingView etc) searching for a property or method to insert an image to a draft, like in the picture bellow(selected in pink).


I know it's ought to be simple, but I looked at documentation and Solid Edge Spy, and I couldn't find it.


Does anybody know the code that does that?





Re: How to Insert image on a draft ?

[ Edited ]

I did the opposit, I had to search for an image and had to delete it. Its quite hidden:




To add a new one, you presumably can use (note the plural):

var image = FrameworkSupport.SmartFrames2d.AddBy2Points(StyleName, x, y);


and then modify the options of the SmartFrame2d object.


Hope that helps

Re: How to Insert image on a draft ?

[ Edited ]

Hi, Freijon. Thanks for your response!


I'm having a litle problem with this code. VS complains that an object reference is needed to call the method AddBy2Points as you can see bellow:


When I try to create the object it says that I can't create an instance of this abstract class or interface:

It seems not to make sense creating a custom class that supports this interface and implement this method so that I could instanciate an object and call it.


Sorry if I'm missing something really silly right under my nose.


Any ideas about how I can use the method SmartFrames2d.AddBy2Points() to create a SmartFrame?


Re: How to Insert image on a draft ?

[ Edited ]

Hey Marcio_Lima,


Sorry, my code was supposed to be dummy code to explain the situation. What you will have to do is the following (in C# but I'm sure you can translate it yourself):


DraftDocument dft = null;
Sheet sheet = null;

SmartFrames2d sfs2d = null;

SmartFrame2d image = null;


dft = (DraftDocument)app.ActiveDocument; //"app" is the Application object
sheet = (Sheet)dft.ActiveSheet;

sfs2d = (SmartFrames2d)sheet.SmartFrames2d;

image = (SmartFrame2d)sfs2d.AddBy2Points("", 0.5, 1.0, 1.0, 1.5);



Haven't tested the code, but it should work IMO.


Re: How to Insert image on a draft ?

Hello, Frejon


Thanks for you code. It really shows the SmartFrame2d, but displaying only the name of the image, as you can see bellow:

I left the Style parameter blank(image = (SolidEdgeFrameworkSupport.SmartFrame2d)sfs2d.AddBy2Points("", 0.0, 0.0, 0.01, 0.3)Smiley Wink


I don't know if it's causing the issue. I'm investiganting the SmartFrame2dDefault(s) and SmartFrame2dStyle(s), but wiht no success until now. If I have any news I'll post here.

Accepted by topic author Marcio_Lima
‎08-26-2015 04:32 AM

Re: How to Insert image on a draft ?

Hey, Freijon!

I finally did it! It's similar to your solution! The sheet class has an image2D object.



SolidEdgeFrameworkSupport.Images2d imgs = null;
SolidEdgeFrameworkSupport.Image2d img = null;

imgs = sheet.Images2d;
img = imgs.AddImage(true, @"C:\Detail.png");


Thanks a lot for your help!