The reportgen script can be modified to include diagrams if you wish,
however I do not have a version that includes these modifications.
As an example here is a script sample that copies sequence diagrams
to Word. One could incorporate this into the reportgen script
(or one could run both scripts)
Sub Main
'EXAMPLE code showing use of: RenderEnhancedToClipboard
'Opens Word and copies Sequence diagram to Word
'NOTE: This program will create a NEW document in Word for EACH
'sequence diagram
Dim mymodel as model
Dim Wordapp As Object
Dim aCategory As Category
Dim aScenarioDiag As ScenarioDiagram
Set myModel = RoseApp.CurrentModel
''viewport.open
''viewport.clear
'Dim WordApp As Word.Application
'Word 6.0 And 7.0 Syntax:
' Set WordApp = CreateObject ("Word.Basic")
'Word97 syntax:
Set WordApp = CreateObject ("Word.Application")
' define document
Dim WordDoc As Object
' Create a new, empty document.
' Set WordDoc = WordApp.Documents.Add
For i% = 1 To RoseApp.CurrentModel.GetAllCategories().Count
Set aCategory = RoseApp.CurrentModel.GetAllCategories().GetAt(i%)
For j% = 1 To aCategory.ScenarioDiagrams.Count
Set aScenarioDiag = aCategory.ScenarioDiagrams.GetAt(j%)
If aScenarioDiag.Visible Then
''Print "diagram " + aScenarioDiag.Name
aScenarioDiag.RenderEnhancedToClipboard
' Cause Word to paste contents of clipboard
WordApp.Documents.Add.Content.Paste
End If
Next j%
Next i%
' Show the instance of Microsoft Word.
WordApp.visible = true
End Sub
Otherwise for report options you have the following choices:
Rose - DIAGRAM AND REPORT OUTPUT
Here's some information on outputting information from
Rose. I put most of this together awhile back so maybe a bad
link or two... other options now available, but it should
give you a good starting point.
------------------------------------------------------------------
DIAGRAM AND REPORT OUTPUT
------------------------------------------------------------------
------------------------------------------------------------------
REPORT
------------------------------------------------------------------
FILE MENU
FILE:PRINT SPECIFICATIONS
allows you to specify one or more specifications to be printed
to a printer or to a text file.
REPORT MENU
REPORT:SHOW ACCESS VIOLATIONS
list of all access violations between packages in a class diagram.
REPORT:SHOW INSTANCES
list of all collaboration diagrams in which instances of the
currently selected class appear.
REPORT:SHOW PARTICIPANTS IN UC
list of all the participants in a use case.
REPORT:SHOW UNRESOLVED MESSAGES
list of all unresolved messages from the selected items in a
collaboration or sequence diagram.
REPORT:SHOW UNRESOLVED OBJECTS
list of all unresolved objects from the selected items in a
collaboration or interaction diagram
REPORT:SHOW USAGE
list of all class diagrams in which the currently selected class
is the supplier in a relationship.
list of all collaboration diagrams that show usage of a message.
list of all sequence diagrams that show usage of an object.
REPORT:DOCUMENTATION REPORT
generates a data dictionary from a model using Microsoft Word
OLE Automation objects
ADDITIONAL OPTIONS:
------------------------------------------------------------------
Create your own scripts or modify existing script.
See reportgen.ebs (source code for menu Report:Documentation Report)
in Rose 2000e home directory.
Updated reportgen scripts (with additional output and bug fixes)
ftp://ftp.rational.com/public/rose/rose_cpp/patches
reportgen_fix.zip
-> contains workaround for incomplete output (98i\2000\2000e)
reportgen_fixplus.zip
-> fix plus additonal; assoc, use case, interaction (98i\2000\2000e)
------------------------------------------------------------------
Obtain 3'rd party scripts and addins,
http://www.rationalrose.com/scripts/index.htm
Operation Usage Script - reports on usage of class operations in sequence
diagrams.
List Use Case Documents - displays all the external documents of all or the
selected use cases
------------------------------------------------------------------
Rational's SoDA for Word product incorporates Rose information
including graphics into MS Word or Frame documents.
For more information on SoDA please visit our web site at
http://www.rational.com/products/soda/index.jtmpl
With SoDA, you can automatically create documents from your
Rational Rose models. You can traverse the semantic relationships
in the Rational Rose model, extracting graphical and textual
information to create documents customized to your specific needs.
Rational Rose provides a powerful capability to create, verify,
and visualize your object-oriented software analysis and design.
Using SoDA, you can take this capability one step further, quickly
enhancing and disseminating your information by automatically
generating online or hard-copy documentation.
With SoDA, you can also document your C++ source code and
extract information directly from the code. Combined with the
reverse-engineering capability of Rational Rose/C++, SoDA is the
ideal solution for documenting legacy code.
------------------------------------------------------------------
DocExpress
http://www.docexpress.com
Generates reports include Diagrams.
Free download available. Installing it results in new menu options being
Added to your existing Documentation Report menu in Rose. generates
reports include Diagrams as well.
------------------------------------------------------------------
BEER:
Stands for the 'Better Engineering Reporting System'.
Free download available at:
http://www.qoses.com/scripts/documentation.html
This includes information about Base classes, cardinality etc.
into the Generated report.
------------------------------------------------------------------
RoseDoc
http://members.home.com/webresumes/componentware/
Full package documentation including ALL diagrams,
classes, methods and parameter signatures along with
Rose documentation in a formated Word 97 document.
------------------------------------------------------------------
Mesa/Vista for Rational Rose
http://www.mesasys.com/vista/rational_rose.html
Mesa/Vista for Rational Rose is the project-specific module that
delivers Rational Rose repository data for viewing in a Java-enabled
web browser. Regardless of whether you are on Windows, Macs, or
UNIX workstation, you can now view Rose models using the familiar
features of your web browser, within the Mesa/Vista project
environment. You can also link and navigate from Rose objects
directly to any related project data.
------------------------------------------------------------------
Also see Rose/HTML under Diagrams below.
------------------------------------------------------------------
DIAGRAMS
------------------------------------------------------------------
FILE
FILE: PRINT DIAGRAMS
allows you to choose the diagram to be printed
------------------------------------------------------------------
With Windows you have 3 choice to move diagrams,
To get the diagram into another format, you can
1-cut and paste into program that can save
2-use OLE to move "...
3-print to EPS, Encapsulated Postscript file
Additionally:
4-If other product works with OLE use scripting to automate
--1-- Cut and Paste:
To highlight all, CTRL-A, Edit | Cut, change over to other product,
Edit:Paste.
NOTE: If you are copying a large diagram you may lose information. The
clipboard can only copy 64K and some diagrams are larger than that.
clipboard does not give an error telling you so.
NOTE: With cut and paste you can control the size of the objects being
copied by using zoom in or out to size the diagram before copying.
--2-- OLE Linking:
-a- In Rose ->
Make sure you have saved the Rose file! Rose model MUST be saved before
being able to use it in a OLE link.
-b-
Go to the diagram you wish to show up in Word.
-c-
Make sure _nothing_ is highlighted in this diagram (click on a blank spot
where no icon exists).
-d-
Do a Edit:Copy
-e- In Word ->
Edit:Paste Special
-f-
Click on the Paste Link radio button, OK.
You should now see the diagram in Word. This is an active link,
so any change you now make in Rose, will be reflected in the Word
document. In the future, double clicking on the picture in Word
will bring up Rose with that diagram.
NOTE: With cut and paste you can control the size of the objects being
copied by using zoom in or out to size the diagram before copying.
And you can also control size by adjusting Windows size. Only contents
of current viewable window will get copied.
--3-- Print to Postscript file:
UNIX:
-----------
Under Unix, go to File:Print Setup, Output Format, Generic (File Only),
Next to 'File Name:' Entry should be a listbox that shows either EPSF
(Encapsulated Postscript) or PCL4, PCL5 (HP print language).
Also see Notes at end of Windows 95 section.
WINDOWS 95:
-----------
Rose running under the Windows environment uses the Windows print
engine. Printing a diagram to file and printing to a Encapsulated
Postscript file (EPS) is handled by Windows and therefore Rose
doesn't have any extra selections or options for this. Printing
output to a file is controlled in Rose with File:Printer Setup
and then selecting a driver with these options that you have
previously installed in Windows.
To print to a EPS file you must have installed a Postscript
Driver that has support for EPS. Since we're printing a diagram
here, you cannot use a text/genric driver. You either need to
choose something like a Postscript driver that supports EPS or
you can choose another driver and set this output "To FILE".
Note that if you choose a driver that does not have the EPS
option what you will have in this file is the print code for that
printer that will display this diagram when copied out to this
printer. In most cases using a driver besides Postscript for file
output means you can only print this diagram, you can't import or
view it in other programs.
To install a Postscript driver:
- Exit Rose
- Obtain your Windows install CD or source files
- Go to
My Computer
Printers
Add Printers
If you are unsure of what Postscript driver to use, try Apple
LaserWritter. In theory Postscript is Postscript, and this seems
to be one of the most generic of the bunch. Set the output of
this to be "ON FILE". This tells Windows to send it to a file
rather than a printer. Save and exit.
To print to file in Rose, go to File:Printer Setup open up the
Printer Name List box. This is a list of your currently
installed printers. Select postscript driver ... ON FILE.
Then select the Options button. Depending upon the driver you are
using, you will have either an checkbox for EPS, or a Tab for
Postscript with a listbox selection for EPS. Once this is selected
all output from either Print Diagrams or Print Specifications
should now go to <filename>.EPS
Now File:Print diagram. You should be presented with a dialog
box for inputting desired filename.
If the other product you are trying to pull this into has support
EPS, then this file should come in. For example if using Word,
you should now be able to pull this into Word using Insert:Picture.
1-NOTE: You must have the encapsulated postscript filter
installed in Word to insert this file. If you don't, find your
Word install disk and run setup to install.
2-NOTE: Rose uses the Windows print engine and due to a
limitation in Window you will get an icon (square box with some
description text) showing in your document not the actual
picture. i.e. something like this:
------------------------------------------------
| Title: Rose Diagram(s) |
| Creator: PSCRIPT.DRV Version 4.0 |
| CreationDate: 10/03/06 17:16:30 |
|
|
...
------------------------------------------------
For more on this limitation see the following Microsoft
file; Windows 3.1 EPS Files Do Not Include TIFF Preview, Article
ID: Q85738. This has not changed with Win95. However as long as a
Postscript driver is CURRENTLY SELECTED in Word, this icon should
print as the diagram. If a Postscript driver is not currently
selected this box will print out as the box, and not the diagram!
3-NOTE: there is also no TIFF preview with Rose Unix and Xprinter.
Frame will also only display an icon (grey box) if the EPS file
doesn't include a TIFF preview.
To view the contents of a EPS file that doesn't have a TIFF
preview you can use GhostScript. Ghostscript is a software package
that interprets Adobe's PostScript language and displays the image
contained within a EPS file. It will also _SOMETIMES_ allow you to
convert a EPS without TIFF preview to a EPS file with TIFF preview.
For more information see Ghostscript Home Page.
http://www.cs.wisc.edu/~ghost/
WINDOWS NT 4.0, 3.51
--------------------
Currently it is not possible to produce EPS files from Rose
when running under NT.
The printing architecture for Windows NT 4.0 is substantially
different then Windows 95. Windows NT 4.0 does NOT have any built
in capibility for printing Encapsulated Postscript Files. This
feature does not exist in NT. The only reference to this
'missing feature' in any MS documentation or in MS Knowledge Base
article that we could find is the following:
Article ID: Q163641
PPT: PowerPoint: Can't Create EPS File From Windows NT
Date: April 21, 1997
" STATUS
MicroSoft has confirmed this to be a problem in Microsoft Windows
NT Workstation, versions 3.51 and 4.0. We are researching this
problem and will post new information here at it becomes available "
The suggested workaround in this article suggests printing to
a straight postscript file PS.
Just setting the output to a postscript driver and FILE results in
a PS not EPS file. However this is _seldom_ a valid workaround if
you need a EPS file. There are some 3'rd party tools that will
_attempt_ to convert a PS file to EPS. However this conversion is
only possible depending upon whats contained within the PS file. A
simple test here in technical support to use Ghostscript to do this
revealed that Ghostscript cannot convert a simple PS files made by
Rose into EPS. Ghostscript on line help also states, that this
conversion will in most cases not be possible.
--4-- If other product works with OLE use scripting to automate
copying of diagram to file, or cut and paste from clipboard to
move diagram.
------------------------------------------------------------------
Scripting Examples:
--------
Sub Main
'' Example code to select a Use Case Diagram and output this
'' to a metafile
Dim mymodel As model
Dim cat as category
Dim cd as classdiagram
Set myModel = RoseApp.CurrentModel
'' EXAMPLE code to print out names of all categories
'viewport.open
'viewport.clear
'For i = 1 To roseapp.currentmodel.getallcategories.count
' Print roseapp.currentmodel.getallcategories.getat(i).name
'Next i
' Set cat = name of category that contains diagram (in this example
' Use Case View or #2)
Set cat = roseapp.currentmodel.getallcategories.getat(2)
'' EXAMPLE code to print out names of diagrams under Use Case View
' viewport.open
' viewport.clear
' For i = 1 To cat.classdiagrams.count
' Print cat.classdiagrams.getat(i).name
' Next i
' Use this classdiagram number to select this diagram
Set cd = cat.classdiagrams.getat(2)
cd.visible = true
'theDiagram.RenderEnhanced theFileName
' this puts the image of your diagram in a "Windows Metafile" file,
' then you can open it with an editor that works with "Windows
' Metafiles".
cd.renderEnhanced "e:\utest.wmf"
End Sub
--------
Sub Main
'EXAMPLE code showing use of: theDiagram.RenderEnhancedToClipboard
'Opens Word and creates a blank document
'Copies contents of Main under logical view to Word
Dim mymodel as model
Dim Wordapp as Object
Dim cat as category
Dim cd as classdiagram
Set myModel = RoseApp.CurrentModel
'Dim WordApp As Word.Application
'Word 6.0 And 7.0 Syntax:
' Set WordApp = CreateObject ("Word.Basic")
'Word97 syntax:
Set WordApp = CreateObject ("Word.Application")
' define document
Dim WordDoc As Object
' Create a new, empty document.
Set WordDoc = WordApp.Documents.Add
'' EXAMPLE code to print out names of all categories
' viewport.open
' viewport.clear
' For i = 1 To roseapp.currentmodel.getallcategories.count
' Print roseapp.currentmodel.getallcategories.getat(i).name
' Next i
'' Set cat = Name of category that contains diagram
'' (in this example Main Or #1)
Set cat = roseapp.currentmodel.getallcategories.getat(1)
'' EXAMPLE code to print out names of diagrams under Logical View
' viewport.open
'viewport.clear
'For i = 1 To cat.classdiagrams.count
' Print cat.classdiagrams.getat(i).name
' Print i
'Next i
' locate diagram named "Main" and determine it's number in
' collection
i% = cat.classdiagrams.findfirst("Main")
' ' Use this number to select this diagram
Set cd = cat.classdiagrams.getat(i)
cd.visible = true
'Copy contents to clipboard
cd.RenderEnhancedToClipboard
' Show the instance of Microsoft Word.
WordApp.visible = true
' Cause Word to paste contents of clipboard
WordApp.Documents.Add.Content.Paste
End Sub
--------
SCRIPT POSTED TO ROSE FORUM:
I've modified the standard report generation script here to have
an extra option to include class diagrams although I doubt it's
distributable. Also, here's a very short script I wrote for
testing - it just copies all the class diagrams into word 95 in
hierarchical order with their names. You'll probably need to
change the template and output filenames.
' Script for copying class diagrams into word
' Written by Martin Ebourne, 16/6/1998
Const namePrefix = "Component View::"
Const toolName = "cg"
Sub CopyDiagram(wordApp As Object, diagram As Diagram)
wordApp.Insert diagram.Name
diagram.RenderToClipboard
wordApp.EditPaste
End Sub
Sub DescendLogical(wordApp As Object, category As Category)
wordApp.Insert category.Name
For diagramIndex=1 To category.ClassDiagrams.Count
CopyDiagram wordApp,
Category.ClassDiagrams.GetAt(diagramIndex)
Next
For categoryIndex=1 To category.Categories.Count
DescendLogical wordApp,
category.Categories.GetAt(categoryIndex)
Next
End Sub
Sub Main
Dim wordApp As Object
Set wordApp = CreateObject ("Word.Basic")
wordApp.FileNew "c:\msoffice\templates\normal.dot"
wordApp.ViewPage
'wordApp.AppMinimize
wordApp.StartOfDocument
DescendLogical wordApp, RoseApp.CurrentModel.RootCategory
wordApp.EndOfDocument
wordApp.FileSaveAs "c:\tmp\test.doc"
wordApp.AppMaximize
wordApp.AppShow
'wordApp.FileExit
End Sub
------------------------------------------------------------------
Obtain 3'rd party scripts and addins,
http://www.rationalrose.com/addins/index.htm
Rose Graph - an application designed to export diagrams from Rational Rose
(v98 and higher) to different graphic file formats.
Browser Dump - exports the content of the Browser to a file or dumps it to
the printer.
------------------------------------------------------------------
Rose/HTML
------------------------------------------------------------------
All versions of Rose 2000 now ship with a addin called web
publisher (tools:web publisher). This addin will allow you to
publish part or all of your model to html files so that you can
distribute these to folks who do not have Rose.
------------------------------------------------------------------
This is a free Rose Add-in given to output in HTML
http://www.clarity-dev.net/RoseHTML/
Simply put; its an Add-In for Rational Rose 98, that allows you
to publish your models in web format. It creates GIF files of
all the diagrams, and prepares class (use case and actor)
specifications. They are all organized in a frames based web
site with a tree control (similar to the browser in Rose).
External documents mentioned in the model (like use case
descriptions written in MS Word, or referenced URLs) are
accessable through a client browser as well.
Rose/HTML is a menu item in the Rose Tools menu, that invokes a
wizard which prompts you for publishing options, like which
element attributes to include in the output. When finished
Rose/HTML creates a lot of HTML, GIF and class files in a
directory. Assuming the directory is serviced by a web server
(like Microsoft's Personal Web Server, IIS, Netscape FastTrack,
Apache, etc.) anyone on your intranet can have read only access
to the content in the model.
------------------------------------------------------------------
Dirt simple solution at least for HTML publishing:
1. I copy the diagram to the clipboard by selecting all objects
and pressing ctrl+ins
2. In Word I do shft+ins to insert from the clipboard. This
converts the diagram into an image.
3. In word 97 I can then save this as HTML (this implicitly saves
the image as a gif). And I'm ready to publish my design on the
web or in any HTML capabale email system:)
------------------------------------------------------------------
Patrick Kennedy
Rational Support
*******************************************************************
-Technical Support: [EMAIL PROTECTED] OR 800-433-5444
-FAQs, Technical Application Notes, Upgrades, Service Packs,
Add-Ins, Scripts, Models and Installation Guides:
http://www.rational.com/products/rose/index.jsp
-Whitepapers:
http://www.rational.com/products/rose/whitepapers.jsp
-Online tutorials:
http://www.rational.com/tryit/rose/tutorials/rose-tutorials.jsp
-Rose Architect Magazine - visual modeling with the UML and Rose;
http://www.rosearchitect.com/index.shtml
-Caf� Rose news group:
http://cafe.rational.com/HyperNews/get/hn/rosecafe.html
-Rational Rose forum e-mail list:
-Rose_forum archives:
http://www.rational.com/support/usergroups/rose/rose_forum.jsp
-To send email to rose forum: [EMAIL PROTECTED]
-To subscribe to rose_forum list, please send email:
To: [EMAIL PROTECTED]
Subject: <BLANK>
Body: subscribe rose_forum
-Search Rational's Web:
http://www.rational.com/search/index.jsp
-Unofficial Rose Web Site - info, scripts, add-ins, links, etc.:
http://www.rationalrose.com/
*******************************************************************
On May 22, 9:19, Gabriel Angel=?ISO-8859-1?Q?Mart=EDnez_Audante?= wrote:
> Subject:
> Hi Patrick.
> Thank you for your help. It's working nice!!
> Do you know if there is any way to put a sequence diagram in a word document
> without using cut and paste?.
> Thanks in advance.
>
>
> Mensaje citado por: Patrick Kennedy <[EMAIL PROTECTED]>:
>
> >
> >
> >
> > You will find the source code for the report generator,
> > reportgen.ebs, in Rose's home directory (location of rose.exe).
> > To run this you have two choices.
> > -------------------------------------------------------------------
> > 1 - Tools:Open Script
> > or
> > 2 - add menu item and run from menu.
> > -------------------------------------------------------------------
> > 1 - Tools:Open Script
> > When you run the script within the script editor, it acts
> > just like the report generator that you are used to.
> > To run the script:
> >
> > 1. From the top menu bar, click on "tools" and then "open script".
> > 2. Locate and click on reportgen.ebs in your Rose directory where
> > you installed Rose 2001.
> > 3. From the top menu bar, click on "debugger" and then "go".
> > -------------------------------------------------------------------
> > 2 - add menu item and run from menu.
> >
> > Find and open in an editor the menu file, rose.mnu, located in
> > Rose's home directory. Add a menu item to call this script.
> >
> > Below is an example of a modified rose.mnu file which runs
> > reportgen.ebs (or you can compile to .ebx) from the
> > menu item "Run Word Report" added under the report menu as the
> > last item. You'll need to add something similar to call this
> > script.
> >
> > Menu Report
> > {
> > option "Documentation Report..."
> > {
> > RoseScript $SCRIPT_PATH\ReportGen.ebx
> > }
> > option "Run Word Report"
> > {
> > RoseScript $SCRIPT_PATH\reportgen.ebs
> > }
> > }
> >
> > NOTE: $SCRIPT_PATH by default is assigned to Rose's home
> > (location of exe) directory. Either make sure ebs\ebx file is
> > in this location, use the complete path instead of using
> > $SCRIPT_PATH
> > path map variable, or create a new path map variable and use
> > that (see Edit:Path Map).
> >
> > -------------------------------------------------------------------
> >
> > Patrick Kennedy
> > Rational Support
> >
> >
> > On May 21, 17:52, Gabriel Angel=?ISO-8859-1?Q?Mart=EDnez_Audante?=
> > wrote:
> > > Subject:
> > >
> > > Hi All:
> > > I would like to know if in rational 2001 there is any kind of tools
> > to print
> > > reports in the same way that you have in rational 2000?
> > >
> > > Thank in advance
> > > Gabriel Martinez A.
> > >
> > ************************************************************************
> > > * Rose Forum is a public venue for ideas and discussions.
> > > * For technical support, visit http://www.rational.com/support
> > > *
> > > * Admin.Subscription Requests: [EMAIL PROTECTED]
> > > * Archive of messages:
> > http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
> > > * Other Requests: [EMAIL PROTECTED]
> > > *
> > > * To unsubscribe from the list, please send email
> > > *
> > > * To: [EMAIL PROTECTED]
> > > * Subject:<BLANK>
> > > * Body: unsubscribe rose_forum
> > > *
> > >
> > *************************************************************************
> > >-- End of excerpt from Gabriel
> > Angel=?ISO-8859-1?Q?Mart=EDnez_Audante?=
> >
> >
> > ************************************************************************
> > * Rose Forum is a public venue for ideas and discussions.
> > * For technical support, visit http://www.rational.com/support
> > *
> > * Admin.Subscription Requests: [EMAIL PROTECTED]
> > * Archive of messages:
> > http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
> > * Other Requests: [EMAIL PROTECTED]
> > *
> > * To unsubscribe from the list, please send email
> > *
> > * To: [EMAIL PROTECTED]
> > * Subject:<BLANK>
> > * Body: unsubscribe rose_forum
> > *
> > *************************************************************************
> >
> >
>
>
>
> Gracias y Saludos
> Gabriel Martinez A.
>-- End of excerpt from Gabriel Angel=?ISO-8859-1?Q?Mart=EDnez_Audante?=
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************