I'm looking for decent documentation on SystemModeler. The interactive help is ok for interactive help but it is severely lacking when serving as primary documentation. The on line video courses also fall short of comprehensive documentation. They are too shallow and sketchy unless, of course you are trying to accomplish exactly the task that they are demonstrating. One area in particular for which I'm finding nothing is the development of a graphics Icon for a text Modelica model. In particular, no mention is made of relating connector icons to the text model declared connectors. Actually there are many many other details for which no information seems to be available.
So, I'm sort of at the point of writing off and giving up on SystemModeler unless I can find some documentation.
There is documentation on the graphical views in Model Center here: http://reference.wolfram.com/system-modeler/UserGuide/ModelCenterGraphicalViews.html
Documentation for the Mathematica-SystemModeler interface is available here: http://reference.wolfram.com/system-modeler/WSMLink/guide/WSMLink.html
You can also get a complete overview of all the SystemModeler documentation here: http://reference.wolfram.com/system-modeler/
Ok, so I looked at http://reference.wolfram.com/system-modeler/UserGuide/ModelCenterGraphicalViews.html. Nowhere does it mention how to handle connectors other than drawing lines between them. So, I have this text model that I developed and it has, say, 22 connectors declared. So, I want to make an icon. I find another icon that has similar graphics and I cut them and paste them to my icon palette (I'm assuming that I can do this. I really see no mention of this either). Now I want to place the connector symbols on my icon. Connectors are little solid and hollow rectangles. I see no mention of exactly how to do this. I can guess that I draw little rectangles but then how do I make them connectors and assign each individual one to the appropriate connector declared in the text model? This is just one of many things that I just don't see any mention of. But if I want to draw lines between existing graphical components you have that covered! :)
The "Getting Started" tutorial covers this. Look in the section Hierarchical Model--Tank System and the section Interfaces. Essentially what you do is to create a package called "Interfaces" where you store your connectors. The graphic for each connector can be copied as you describe, by copying and pasting an earlier connector, or by drawing a new icon. Then you use these connectors in the model you create. The tank components in this case shows how you can do that: declare each connector in the model. In the icon view (or text view, by right-clicking and choosing "Expand Annotations") of that model you can then arrange the exact location of the connectors in the icon.
I had already looked at this example. Nevertheless, I looked at it again. As before I see how the author made these connector classes and then instantiated in models. This is very straight forward and I learned this in the Modelica book that I read. However, in this "Getting Started" example, the next step is to jump to the diagram and connect up the connectors. No mention is made of where these connector symbols came from, no mention is made of the process of creating the icon or where the icon connector symbols come from or once they are there how they are linked to the instantiated connector classes. There is no mention of the phrase, "expand annotations" that you mention anywhere in the example. So, I'm at a loss to see exactly how this "Getting Started" tutorial sheds any light at all on the issue and I still claim that this issue is not addressed in your "documentation".
Ok. I think that I found a satisfactory way to do this business of getting the connectors to appear in the Icon and Diagram view after instantiating them in the text class. First instantiate the connector(s) in the text view of the class. A quick look at the Icon and Diagram Views shows that there are no corresponding connector symbols in these views. However, if the connector(s) is(are) properly instantiated then it(they) appears(appear) in the component window of the IDE. So then to get corresponding connector symbols in the Icon and Diagram view, switch to the Icon view and then click and drag the connectors from the component window to the Icon palate and place them where desired. After doing this one can see that upon expanding the annotations the corresponding graphic position annotations are placed in the class text. I haven't really found this documented anywhere but I'm still reading the pdf Users Manual from the previous version of SystemModeler so it might be there.
Ok I found where it talks about this method explicitly in the Users Manual from the previous SystemModeler version which a technical support guy kindly emailed to me. This technique is described on pages 83-84 in section 3.5.9. Too bad the new version doesn't have such a document. It would have saved a lot of time.
Could you please look at this question about WSMLink?
I'm not an expert, but you might want to look at the "Getting Started" section Custom Component—Chain Pendulum. That section discusses using the Connection Line Tool to create connectors. The Model editor will automatically place the appropriate Modelica connector text in the Text View. You should be able to customize the graphics for the connector icon by right-clicking the newly created connector and selecting Properties. HTH.