3D referenced graphic in an anchored frame

I recently bought TCS5 after having TCS2, so I'm trying to come up to speed with the new features. One of the features I have seen lauded was the ability to use 3D graphics in FM files which output to PDF could provide an interactive 3D graphic in the PDF. Seems like I remember seeing RJ Jaquez demo'ing that a few years back, so I don't think it's quite a new feature; hopefully a more mature feature by now.
Where the proverbial rubber hits the road
Our onsite Mech Engineer uses SolidWorks for all the CAD drawings. He can give me a PDF that does indeed retain all the 3D interactivity when I open it in Acrobat XI. Cool. Sweet.
I have CorelDraw Technical Suite X6, because the PTB decided that was more affordable than CS6/AC. I can import a DWG or DXF into DrawX6, but it is a 2D bunch of vector lines; much is lost.
So, the shortest path to getting a 3D interactive graphic into FM would be to take the 3D PDF that SolidWorks generates and insert it in an anchored frame in FM as a referenced graphic, right? When I do this, nothing shows up in the anchored frame, even though I had just verified the 3D PDF in Acrobat. If I double-click the inserted referenced PDF object from the anchored frame, it does spawn in Acrobat as an interactive PDF. However, if I Save As PDF from FM, the PDF that comes out doesn't have the 3D image at all.
I checked the completely useless Adobe Online Help and can't find diddly about it. (I so wish that were a surprise; alas, some things still haven't improved.)
The bottom line
Can someone here please tell me what I'm doing incorrectly? How do I get a functional 3D PDF inserted in an FM doc that can be output to PDF retaining the 3D interactivity in the inserted graphic?
Thanks,
Rene

Hi Rene,
Everything is described in the FrameMaker online help. For FrameMaker 12
search for "3D", and you will get a bunch of pages where this is explained, e.g.:
http://help.adobe.com/en_US/framemaker/using/WSd817046a44e105e21e63e3d11ab7f768cd-7fa3.htm l#WSCAB027D0-3396-4031-A731-5FA4F15B1306
For FrameMaker 11 the search for 3D does not find the relevant pages:
http://help.adobe.com/en_US/FrameMaker/11.0/Using/WSd817046a44e105e21e63e3d11ab7f768cd-7fa 3.html#WSCAB027D0-3396-4031-A731-5FA4F15B1306
If your developer has SolidWorks, then he/she should be able to export the U3D format.
As far as I know CorelDraw Technical Suite X6 allows only to import 3D graphics and
manipulate them in Corel Designer. It cannot export U3D.
Best regards
Winfried

Similar Messages

  • Is there a way to convert FM graphics (on a reference page) to anchored frames?

    Hello -
    I'm using Technical Communication Suite 3 (FrameMaker 10 and RoboHelp 9) and I can't figure out how to take "standard" caution/warning symbols (that currently appear in graphic frames on a FM reference page) and put them in anchored frames so that they will automatically appear when I link a FM book to RH.
    Does anyone have an idea of how to do that?
    Thanks in advance for your help.
    --Ed

    Hi Ed.
    I don't believe this can be done with an unanchored frame. I think you'd have to have the graphic in an anchored frame that you can copy from the reference page and paste into your body page.
      The RoboColum(n)
      @robocolumn
      Colum McAndrew

  • Position of eps-files in anchored frame

    Hello, I'm sorry but the subject was too large to put it in the subject-field.
    Subject:
    position of eps-files (Mac Os 9, Illustrator 9.0, preview tiff black/white)
    is not correct after saving eps-files (preview macintosh black/white)
    I want to upgrade from Apple Mac 9.0 to PC. All my Framemaker-files (6.0)
    must be translated to Framemaker 8.0 (PC-version).
    When I open the old Framemaker files, there is only a problem with the
    graphics (read: the preview of the graphics in Framemaker 8.0). The result
    is: grey boxes in the anchored frames. I thought when I save the old
    eps-files (Illustrator 9 for Mac, preview Macintosh Black+white) to
    eps-files with TIFF preview, that the problem will be solved. When I open
    the framemaker-files on PC, then there are a few graphics correct
    (Framemaker displays all the graphics correct on pc). But, there are a lot
    of graphics in anchored frames who lost their right coordinates in the
    anchored frame (example: the x-position of a graphic is -25 cm en the
    y-position of a graphic is 7.9 cm). Result: I cannot see a graphic in the
    anchored frame because the coordinates were changed and because their are
    outside the frame (their are in the frame, but the graphic is outside the
    border of the anchored frame).
    When I use the old eps-files then the position is correct, but there is no
    preview available of the graphic in Framemaker 8 (in Framemaker 6.0 for
    Mac, there is a preview of the graphic).
    Are there people who has this problem too in the past? Who can give me
    suggestions to solve this problem or give me other tips to solve this
    problem.

    Hi Jesse
    I'm afraid we probably can't help much. I asked our guy and he said:
    I thought that issue had more to do with upgrading Adobe Illustrator. When you save an EPS it includes a BoundingBox comment that defines the area of the page that the figure occupies in the artwork:
    %%BoundingBox: LLx LLy URx URy
    LLx and LLy are the coordinates of the lower left corner of the figure. URx and URy are the coordinates of the upper right corner of the figure.
    When FrameMaker imports an EPS it reads the BoundingBox comment to get the size and position of the figure on the page, and therefore to compute the translation and scaling required in the PostScript output to put the figure where you want it.
    The impression I got was that when you updated the EPS figure FrameMaker didn't always refresh the BoundingBox info.
    The later version of Illustrator seemed to save files with a different BoundingBox. As a result there was a mis-match between the actual BoundingBox and what FrameMaker recorded.
    The solution for us was to simply re-import the figure. I never wrote a script to solve that problem.

  • Graphics and anchored frames

    My EDD is set up to insert anchored frames as I import a graphic by reference. The default position is centre aligned. I would like to change this to left aligned.
    Then I would like to be able to set up a fixed alignment offset on the graphic. At present I have to manually set up the position (not a major problem but I think it must be possible to get it set up as I would like).
    Finally coming back in from XML the cgm files remove the alignment offset and place the graphic at the very left of the anchored frame.
    Any pointers woulod be much appreciated.
    Thanks
    Edd

    Hi Edd,
    frames and there layout is something that is specified in the template.
    =>
    Open your Template,
    insert a new anchored frame and set the options you want there.
    Delete the frame again and save the Template.
    Afterwards it should work.
    If you are working with FM documents instead of xml documents, you have to import the formats again, of course.

  • How to transfer graphics from frames to anchored frames?

    Hi all,
    Here's the old situation:
    Lots of old documents where all graphics are placed in "regular" non-anchored frames.
    graphics are all scaled and positioned differently within the frames
    New situation:
    new template where all graphics must be placed in anchored frames
    Question: What is the quickest way to get all graphics from the old documents (unanchored frames) into the new template in anchored frames?
    I have tried a number of things that DO NOT work:
    copy graphic from original frame > try to paste it into the anchored frame
    copy old frames incl. graphic into new document, then trying to drag the graphic into the new frame
    looked for a way to change regular frames to anchored frames on some kind of menu, didn't find it.
    Do I really have to reimport, scale, and position each graphic individually?
    Hoping that someone has a good idea what to do!
    THANKS!

    Hi Eugene,
    Did as you suggested and made a small change to my already-existing object style (turned off the frame fitting options) and it now works like a charm!
    Thanks a million

  • Finding anchor frame for broken links to graphic

    I have a document that when opening wants a new link to a graphic that has been deleted from the file. I have looked on the body pages, master pages, reference pages, everywhere I can think of to locate where the graphic the file is looking for could be located. Can anyone suggest additional places in file to look?
    Thanks

    If the file isn't part of a book, make it one, then:
    Add > List of > Figures
    and you'll find out what page it's on (if LOF catalogs missing imports, which it may not).
    You can also save as MIF and look in the MIF for the object name. You need to learn a little about MIF to decipher where that maps to in the document.
    Import references can hide in all sorts of places, including but not limited to:
    beyond edge of anchored frame (had 2 of those just today)
    hidden behind an opaque something you can see
    conditional text currently turned off
    text flowed out of sight on disconnected page
    in plain sight, but hidden by Color Views
    Worst case scenario: create a 1x1 pixel white object and give it the name of the rogue.

  • DITA - Multiple objects in anchored frame

    Hi,
    I'm using the DITA features in FrameMaker 9. I'd like to insert multiple objects in an anchored frame in a DITA topic.
    Right now, if I save an image element containing multiple objects, FrameMaker discards any extra objects in the frame. I've also experimented with adding extra graphics elements to the DTD using the attributes listed in the Structure Application Developer Guide. I can save DITA topics containing the custom elements, but they are not added to the XML file though I can see them in the FrameMaker interface. I have not yet experimented with a DITA specialization.
    When exporting anchored frames in Structured FrameMaker to XML, FrameMaker bundles multiple objects in a frame into a single CGM file.
    Is there a way to export anchored frames to CGM files before saving DITA topics? Is there a plug-in out there that will automatically save the objects in a frame? Can I use read/write rules to define how to treat these frames? How about creating a specialization on the objects element?
    I'd like to use the tools in FrameMaker to modify elements in an anchored frame. I don't see why doing this should break the DITA model if these objects are bundled into a single file on export.
    Thanks,
    - Maura

    Hi Maura...
    The short answer is .. you can't do that.
    DITA knows nothing about "frames" and only allows a single object to be referenced by an image element, so to remain in compliance with the DITA specification the content of a frame is tightly controlled by FM. There's nothing that you'll be able to do via read/write rules or EDD tricks to get FM to write out the data from multiple objects as a CGM .. this is overridden by the internal DITA plugin within Frame. You're correct that in theory FM could merge multiple graphics into a CGM, but this really wouldn't be a good way to operate since the text or other objects would no longer be editable. You can do this now using Illustrator or other applications that let you store the text and objects on separate layers, then save to a single file. Reference this single file in the image element in DITA.
    That said .. we are looking into supporting some subset of multiple graphic objects within a frame in DITA-FMx, and this feature may be available in an upcoming beta.
    http://leximation.com/dita-fmx/
    Cheers,
    ...scott
    Scott Prentice
    Leximation, Inc.
    www.leximation.com

  • How to list referenced graphics and their captions

    The book contains a slew of referenced graphics, which I can of course list with a LOR. Most of the graphics are followed by a caption, and I can list the captions with a LOF or a LOP. However … it would be really handy, for this project, to have a compound list showing each referenced graphic (file name) followed by its caption. Can this be done without scripting? I realise that, worst case, it wouldn't take much copy/pasting into a spreadsheet to achieve the required result :-}

    How are you doing the captions?
    As Flow_A, or as something in the anchored frame?
    I presume the ¶ format is unique (and is not graphics text).
    Have you any cases where there is more than one imported object in the frame?
    We do captions in-frame, as a borderless table in a text frame below the figure. The table is anchored to an empty, small pt size paragraph with a non-printing text color. The table contains the caption in one cell, and the hand-typed imported object ID(s) in another (usually one, but two or more often enough).
    If I had your requirement, I'd be tempted to turn our tiny invisible table anchor line into the compound expression you are trying to LOP: an Xref to the object ID, followed by an Xref to the Caption, in a unique ¶ format that itself is easy to LOP. This would be extra work when creating the figure, but automatic and scriptless thereafter. Multiple objects in frame would complicate matters.

  • Insert inset in anchored frame

    I cannot find the info on how to insert an Inset into an existing AFrame using ExtendScript. Does anyone have experience with this?
    Thanks
    Jang

    Hi Russ,
    I know I would have to fire myself, and believe me, I have tried many times. But my boss will not let me go :-)
    What I am doing is this: I walk through a document and find anchored frames. If the anchored frame contains more than one graphic (which includes referenced files, lines, text boxes and such), I convert the entire contents of the anchored frame into a single SVG, which then replaces the contents of the anchored frame. This makes the graphic object, including possible arrows, text boxes etc. suitable for conversion to structured framemaker and/or output to XML. It works fine when there is at least one referenced graphic (Inset) in the anchored frame, as I simply change its InsetFile to the newly created SVG. This works like a breeze, even though FM complains about changed image formats when I reopen the file. The SVGs are displayed correctly, so I am happy. But when I encounter a file that has no referenced graphics, just lines and text boxes and - god forbid - images that were copied in rather than referenced, I have no single Inset to change the InsetFile property of. So I will have to add an Inset to the AFrame at that point and set its InsetFile property.
    As you see, there is no text involved and no paragraphs available to set a text location to. If you have a bright idea about this, I would be over the moon. This type of thing has been on my mind ever since I found that FM creates an - Ugh! - CGM out of any AFrame that contains multiple graphic elements. An SVG for that purpose is infinitely better, as it will even allow me to create references to callouts from the text, or have captions inside the text boxes pick up their content from referenced elements in the text flow. Once I have the conversion to SVG perfected, there is no limit to what I can do next.
    Let me know if you have the info I need. I know you have been playing around with inserting graphics into an AFrame, but I need to add an Inset right there.
    Ciao
    Jang

  • Best Practices for image layout and positioning using anchored frames in Framemaker 10

    Hi,
    I'm looking for the best practices in how to layout my images in Framemaker 10 so that they translate correctly to Robohelp 9. I currently have images inside of Anchored frames that "Run into" the right side of my text. I've adjusted the size of the anchored frame so that my text flows correctly around the image. Everything looks good in Framemaker! Yeah! The problem is that when I link my Framemaker document to Robohelp, the text does not flow around my image in the same manner. On a couple of Robohelp screens the image is running into the footer. I'm wondering if I should be using tables in Framemaker in order to get the page layout that I'm looking for. Also, I went back and forth...is this a Framemaker question or is this a Robohelp question. Any assistance would be greatly appreciated.

    I wish I could offer some advice, rather than simply adding to your question. I think there is something odd that happens with anchored frames.
    I have been going through fits trying to figure out why the placement of my graphics shifts when I run them through Frame 10-to-RoboHelp 9 conversion. The placement in our books is flush left to the body text area. However, when they convert, some are flush left, some are centered, and a very few are flush right. My boss is very unhappy with me, as I have been unable to figure out why this is happening. I didn't create these files, so I don't know if it's something that goes back to how the graphics were initially imported. But I can't figure out why everything looks right in Framemaker, with the frame attached to an anchor tag, etc. but the placement goes hinky when they convert.
    Any insights are appreciated. I'm wondering if it's going to come down to deleting them and recreating the graphic frame.

  • How can I create "drop caps" Anchored frames tool: "Run into Paragraph" in a text document, and at the same time be able to feather the text to the bottom of the pages? I´m using FrameMaker 10.

    @

    Presumably you are doing the DC as a single letter inside an Anchored Frame run-in from left.
    Back when FM had a manual, this was the method discussed in the manual. The manual, however, also said "Framemaker does not feather text in a text frame in which text runs around graphics."
    That was FM7.0. I don't know if FM has enhanced DC or feathering since then.
    If I had the requirement, I might look at putting the whole lead paragraph in a borderless table.

  • Using Anchored Frame Object Attributes to "Store" Art Numbers

    Good Morning, Everyone,
    I have been using FrameMaker for over 15 years now, and as a tech writer who has inherited LOTS of graphics-intensive documents from previous writers, I have often struggled with identifying source files for embedded graphics. (I prefer to embed graphics in my documents, but that is a topic for another discussion ;-) ) More often than not, graphics have been named something that made sense to the original author at the time, but is nothing more than cryptic code to me now.
    As a result, over the years, I have developed a personal "system" for naming my graphics files that identifies/names each file as the document number in which it resides followed by a sequential number. For example, if a document number is UM345-123, then my graphic files are named UM345-123_0001, UM345-123_0002, etc.  I then include a small (hopefully unobtrusive) 8-point text frame in the lower right-hand corner of the graphics frame that indicates the file name for the base graphic. I create an Art# tag that includes an autonumber for the Document Number (e.g., UM345-123,) which is then inserted into the text frame, and I assign the next sequential number to the graphic/file. The advantage to this is that in the future, files are easily identified if someone wants to use my graphic and all they have is a pdf copy of my document - anyone can easily locate the source file and either update it or forward it on.
    One disadvantage is that in some situations, fitting the text frame/graphic number into the graphic frame is tough - to the point where it detracts from the graphic itself.  I am now wondering if it is possible to somehow utilize Anchored Frame Attributes to store the graphic number in these situations. Perhaps create a new attribute specifically for the Art Number? Has anyone else done something similar?
    Thanks in advance for your help!!!
    Nancy

    > ... include a small (hopefully unobtrusive) 8-point text frame in the lower right-hand corner of the graphics frame ...
    We do this as well, either as a text frame, or in the caption table below, with the reference ID set to a non-obnoxious gray. The main issue with doing this is that the ID is hand-typed, and can easily be incorrect, but usually only when it matters .
    We also have other metadata, that the end users don't see, such as file type, scale and rotation, and this is text with a color set, at rendering, to Invisible by Color Views.
    What you really want, however, is metadata that can't be incorrect, and shows the complete provenance of the object. For this, use text in the original art that is several mm above the art/table/chart extents. Clip it after import with the top edge of the anchoring frame or graphic frame within. End users never see it, but future document stewards can either slide the image down, or pull the frame edge up, to reveal the trail of crumbs leading back to the object's place of birth.
    Caution: that out-of-frame metadata may survive into the PDF, depending on Distiller vintage and settings. You can remove it via Examine Document in Acrobat Pro.

  • Hel with modifying cs5/6 script...create anchored frames from text

    hello
    I have one great time saver script for cs5 for create anchored frames from text tagged with/or charachter style/paragraph style. This work in cs6 but have some "bugs" for me. Script need to be compatible with InDesign CS6.
    1. script in original (look bellow) create text frame which is fitted to lenght of the text. I make change and change 466 line:
    AnchoredTextFrame.fit(FitOptions.FRAME_TO_CONTENT);
    now frame is wide as I write in check box, good. But frame not resize to lenght of the text so I add after above lines 466-470:
        var FO = FitOptions.FRAME_TO_CONTENT,
        tfs = ([]).concat.apply([], app.activeDocument.stories.everyItem().textContainers),
        t, i = tfs.length;
    while( i-- ) (t=tfs[i]).overflows && ( t.locked || t.fit(FO) );
    now all is ok but is here better way to make this to work? Simply, i want to spec text frame width in dialog box, frame will resize only verticaly in direction to amount text in frame. I dont want any overset text.
    2. One "bug". For some reason script alter paragraph style of other text which is not subject to be cutted in anchored frame.
    How to resolve this?
    #targetengine "session"
              Automating anchored object creation
              Version: 2
        Script by Thomas Silkjær
              http://indesigning.net/
    Модификация Б. Кащеев, www.adobeindesign.ru
    Скрипт предназначен для создания привязанных фреймов из текста, отформатированного
    каким-либо абзацным или символьным стилем. Эти стили задаются пользователем в диалоговом
    окне скрита. Там же необходимо задать объектный стиль для привязанного фрейма, в котором
    пользователь должен заранее задать оформление и параметры привязки. Далее необходимо
    указать ширину привязанного фрейма, а его высота будет рассчитана автоматически исходя из
    объема текста. При вводе дробных значений ширины привязанного фрейма в качестве
    разделителя целой и дробной части следует использовать не запятую, а точку, следуя западным
    стандартам разработчиков программы  Adobe InDesign. Первоначально идея и скрипт по созданию
    привязанных фреймов принадлежит Thomas Silkjær для версии ID CS4. C появлением версий CS5
    и CS5.5 скрипт перестал в них выполняться, да и в версии CS4 не всегда корректно работал.
    Анализируя недочеты скрипта в данной его версии были исправлены ошибки и внесены
    функциональные дополнения исходя из понимания задачи автором модификации. Добавлена
    возможность выбора стилей, если они они находятся в группах (папках), возможность выбора
    единиц измерения из выпадающего списка, изменены GREP-выражения для поиска текста,
    область действия скрипта ограничена материалом (Story), а не документом.
    var myMeasureUnits = ["Milimeters","Centimeters","Points","Inches", "Picas", "Ciceros"];
    var selectUnits;
    var pStyleIndex = null;
    var cStyleIndex = null;
    var oStyleIndex = null;
    var myH, myW;
    function main()
        app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
              if (app.documents.length == 0)
                        alert ("Document is not open. Open document first");
                        return;
        var myParaStyleList = myGetParagraphStyleNames();
        var myCharStyleList = myGetCharacterStyleNames();
        var myObjStyleList = myGetObjStyleNames();
        if(app.selection.length && app.selection[0].hasOwnProperty("baseline"))
            var myStory = app.selection[0].parentStory;
            var myWin = myDialog(myParaStyleList, myCharStyleList, myObjStyleList);
            if ( myWin.show()  == 1 )
                var myDocument = app.activeDocument
                with (myDocument.viewPreferences){
                    // Сохраняем старые единицы измерения в переменных myOldXUnits, myOldYUnits
                    var myOldXUnits = horizontalMeasurementUnits;
                    var myOldYUnits = verticalMeasurementUnits;
                    // Устанавливаем новые единицы измерения
                    switch(selectUnits)
                        case 0:                   
                            horizontalMeasurementUnits = MeasurementUnits.millimeters;
                            verticalMeasurementUnits = MeasurementUnits.millimeters;
                            break;
                        case 1:
                            horizontalMeasurementUnits = MeasurementUnits.centimeters;
                            verticalMeasurementUnits = MeasurementUnits.centimeters;
                            break;
                        case 2:
                            horizontalMeasurementUnits = MeasurementUnits.points;
                            verticalMeasurementUnits = MeasurementUnits.points;
                            break;                  
                        case 3:
                            horizontalMeasurementUnits = MeasurementUnits.inches;
                            verticalMeasurementUnits = MeasurementUnits.inches;
                            break;
                        case 4:
                            horizontalMeasurementUnits = MeasurementUnits.picas;
                            verticalMeasurementUnits = MeasurementUnits.picas;
                            break;
                        case 5:
                            horizontalMeasurementUnits = MeasurementUnits.ciceros;
                            verticalMeasurementUnits = MeasurementUnits.ciceros;
                            break;
                        default: break;
                    } // switch
                if(cStyleIndex == null)
                {/*поиск по стилю абзаца*/
                    var pStyle = getParagraphStyleByName(myParaStyleList[pStyleIndex]);
                    resetGREPfindChange();
                    app.findGrepPreferences.appliedParagraphStyle = pStyle;
                    app.findGrepPreferences.findWhat = NothingEnum.nothing;
                else //
                    // поиск по стилю символов
                    var cStyle = getCharacterStyleByName(myCharStyleList[cStyleIndex]);
                    resetGREPfindChange();
                    app.findGrepPreferences.appliedCharacterStyle = cStyle;
                    //app.findGrepPreferences.findWhat = ".+";
                    app.findGrepPreferences.findWhat = NothingEnum.nothing;
                var foundItems = myStory.findGrep();
                if(!foundItems.length) {
                    alert("Found the text to be placed in a linked frames"); exit();
                //alert(foundItems.length);
                //alert (foundItems[0].contents)
                //alert (foundItems[1].contents)
                var oStyle = getObjectStyleByName(myObjStyleList[oStyleIndex]);
                for(var i = foundItems.length-1; i >=0; i--)
                    //alert (foundItems[i].contents)
                    createAnchoredFrame(foundItems[i], oStyle);
                with (myDocument.viewPreferences){
                    try{
                        horizontalMeasurementUnits = myOldXUnits;
                        verticalMeasurementUnits = myOldYUnits;
                    catch(myError){
                        alert("Unable to return to the original unit");
            } //if ( myWin.show()
        } //if(app.selection.length && app.selection[0].hasOwnProperty("baseline"))
        else
            alert("Place the cursor in the text and run the script again")
    } // main
    function myGetParagraphStyleNames()
    // Получаем список стилей абзацев
              var curGroup;
              var curGroupName;
              var curNameInGroup;
              var myParagraphStyleNames = app.activeDocument.paragraphStyles.everyItem().name;
              myParagraphStyleNames.shift(); // удаление стиля No Paragraph Style
              var paraGroups = app.activeDocument.paragraphStyleGroups;
              var paraGroupsLen = paraGroups.length;
              for(var i = 0; i < paraGroupsLen; i++) {
                        curGroup = paraGroups[i];
                        curGroupName = paraGroups[i].name;
                        curGroupStyleNames = curGroup.paragraphStyles.everyItem().name
                        for (j=0; j< curGroupStyleNames.length; j++)
                                  curNameInGroup = curGroupName +":"+ curGroupStyleNames[j];
                                  myParagraphStyleNames.push(curNameInGroup);
              return myParagraphStyleNames;
    function myGetCharacterStyleNames()
    // Получаем список символьных стилей
              var curGroup;
              var curGroupName;
              var curNameInGroup;
              var myCharacterStyleNames = app.activeDocument.characterStyles.everyItem().name;
              myCharacterStyleNames.shift(); // удаление стиля None
              var charGroups = app.activeDocument.characterStyleGroups;
              var charStyleGroupLen = charGroups.length;
              for(var i=0; i < charStyleGroupLen; i++)
                        curGroup = charGroups[i];
                        curGroupName = charGroups[i].name;
                        curGroupStyleNames = curGroup.characterStyles.everyItem().name;
                        for (j=0; j< curGroupStyleNames.length; j++)
                                  curNameInGroup = curGroupName +":"+ curGroupStyleNames[j];
                                  myCharacterStyleNames.push(curNameInGroup);
              } //for
              return myCharacterStyleNames;
    } // fnc
    function myGetObjStyleNames()
        var curGroup;
              var curGroupName;
              var curNameInGroup;
              var myObjStyleNames = app.activeDocument.objectStyles.everyItem().name;
        myObjStyleNames.shift();
        var objGroups = app.activeDocument.objectStyleGroups;
        var objStyleGroupLen = objGroups.length;
        for(var i=0; i < objStyleGroupLen; i++)
                        curGroup = objGroups[i];
                        curGroupName = objGroups[i].name;
                        curGroupStyleNames = curGroup.objectStyles.everyItem().name;
                        for (var j=0; j< curGroupStyleNames.length; j++)
                                  curNameInGroup = curGroupName +":"+ curGroupStyleNames[j];
                                  myObjStyleNames.push(curNameInGroup);
              } //for
        return myObjStyleNames;
    } // fnc
    function myDialog(myParaStyleList, myCharStyleList, myObjStyleList)
        var myDialog = new Window('dialog', 'Create anchored text frames');
        this.windowRef = myDialog;
              myDialog.orientation = "column";
        myDialog.alignChildren = ['fill', 'fill'];
        // добавляем панель 1 с элементами управления
        myDialog.Pnl1 = myDialog.add("panel", undefined, "Move the text in linked frames");
              myDialog.Pnl1.orientation = "column";
        myDialog.Pnl1.alignChildren = "left";
        myDialog.Pnl1.pstyle = myDialog.Pnl1.add('checkbox', undefined, "Text with the paragraph style");
        myDialog.Pnl1.pstyle.value = false;
        myDialog.Pnl1.dropdownParaStyle = myDialog.Pnl1.add("dropdownlist", undefined, myParaStyleList);
        myDialog.Pnl1.dropdownParaStyle.title = "Select the paragraph style ";
        myDialog.Pnl1.dropdownParaStyle.minimumSize = [250,20];
        myDialog.Pnl1.dropdownParaStyle.enabled = false;
        myDialog.Pnl1.dropdownParaStyle.selection = 0;
        if(myCharStyleList.length)
            myDialog.Pnl1.сstyle = myDialog.Pnl1.add('checkbox', undefined, "Text with character style");
            myDialog.Pnl1.сstyle.value = false;
            myDialog.Pnl1.dropdownCharStyle = myDialog.Pnl1.add("dropdownlist", undefined, myCharStyleList );
            myDialog.Pnl1.dropdownCharStyle.title = "Select the character style ";
            myDialog.Pnl1.dropdownCharStyle.minimumSize = [250,20];
            myDialog.Pnl1.dropdownCharStyle.enabled = false;
            myDialog.Pnl1.dropdownCharStyle.selection = 0;
            myDialog.Pnl1.pstyle.onClick = function()
                if(this.value) {
                    myDialog.Pnl1.dropdownParaStyle.enabled = true;
                    myDialog.Pnl1.dropdownCharStyle.enabled = false;
                    myDialog.Pnl1.сstyle.value = false;
                else
                    myDialog.Pnl1.dropdownParaStyle.enabled = false;
                    myDialog.Pnl1.dropdownCharStyle.enabled = true ;
                    myDialog.Pnl1.сstyle.value = true;
            }// fnc
            myDialog.Pnl1.сstyle.onClick = function()
                if(this.value)
                    myDialog.Pnl1.dropdownCharStyle.enabled = true;
                    myDialog.Pnl1.dropdownParaStyle.enabled = false;
                    myDialog.Pnl1.pstyle.value = false;
                else
                    myDialog.Pnl1.dropdownCharStyle.enabled = false;
                    myDialog.Pnl1.dropdownParaStyle.enabled = true ;
                    myDialog.Pnl1.pstyle.value = true;
            }// fnc
        }//  if(myCharStyleList.length)
        else
            myDialog.Pnl1.pstyle.onClick = function()
                if(this.value)
                    myDialog.Pnl1.dropdownParaStyle.enabled = true;
                else
                    myDialog.Pnl1.dropdownParaStyle.enabled = false;
    //  Вторая панель
        myDialog.Pnl2 = myDialog.add("panel", undefined, "Parameters of the text frame");
              myDialog.Pnl2.orientation = "column";
        myDialog.Pnl2.alignChildren = "left"; 
        myDialog.Pnl2.dropdownObjStyle = myDialog.Pnl2.add("dropdownlist", undefined, myObjStyleList );
        myDialog.Pnl2.dropdownObjStyle.title = "Select an object style ";
        myDialog.Pnl2.dropdownObjStyle.minimumSize = [250,20];
        myDialog.Pnl2.dropdownObjStyle.enabled = true;
        myDialog.Pnl2.dropdownObjStyle.selection = 0;
        myDialog.Pnl2.Group1 = myDialog.Pnl2.add( "group" );
        myDialog.Pnl2.Group1.stxt1 = myDialog.Pnl2.Group1.add("statictext", undefined, "The width of the text frame");
        myDialog.Pnl2.Group1.etxt = myDialog.Pnl2.Group1.add("edittext", undefined, "40");
        myDialog.Pnl2.Group1.etxt.characters = 10;
        myDialog.Pnl2.Group1.dropdownMeasurementUnits = myDialog.Pnl2.Group1.add("dropdownlist", undefined, myMeasureUnits );
        myDialog.Pnl2.Group1.dropdownMeasurementUnits.maximumSize = [80,20];
        myDialog.Pnl2.Group1.dropdownMeasurementUnits.selection = 0;
        //myDialog.Pnl2.Group1.stxt2 = myDialog.Pnl2.Group1.add("statictext", undefined, "mm ");
        /*myDialog.Pnl2.Group2 = myDialog.Pnl2.add( "group" );
        myDialog.Pnl2.Group2.stxt1 = myDialog.Pnl2.Group2.add("statictext", undefined, "Высота привязанного фрейма  ");
        myDialog.Pnl2.Group2.etxt = myDialog.Pnl2.Group2.add("edittext", undefined, "30");
        myDialog.Pnl2.Group2.etxt.characters = 10;
        //myDialog.Pnl2.Group2.stxt2 = myDialog.Pnl2.Group2.add("statictext", undefined, "mm ");*/
        myDialog.Pnl2.stxt1 = myDialog.Pnl2.add("statictext", undefined, "Attention! When you enter fractional values as");
        myDialog.Pnl2.stxt2 = myDialog.Pnl2.add("statictext", undefined, "the decimal part, should be used");
        myDialog.Pnl2.stxt3 = myDialog.Pnl2.add("statictext", undefined, "point, not comma.");
        myDialog.Pnl2.stxt1.graphics.foregroundColor = myDialog.Pnl2.stxt1.graphics.newPen (myDialog.Pnl2.stxt1.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
        myDialog.Pnl2.stxt2.graphics.foregroundColor = myDialog.Pnl2.stxt2.graphics.newPen (myDialog.Pnl2.stxt2.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
        myDialog.Pnl2.stxt3.graphics.foregroundColor = myDialog.Pnl2.stxt3.graphics.newPen (myDialog.Pnl2.stxt3.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
        // --------- кнопки --------------
        var myGroup = myDialog.add( "group" );
        myGroup.orientation = 'row';
        myGroup.alignChildren = ['fill', 'fill']; 
        myGroup.okButton = myGroup.add( "button", undefined, "OK" );
        myGroup.okButton.onClick = function()
            if(myCharStyleList.length) // есть символьные стили в документе
                if(!myDialog.Pnl1.pstyle.value && !myDialog.Pnl1.сstyle.value)
                    alert("You must select a paragraph style or character style");
                    return ;
                if(myDialog.Pnl1.pstyle.value) { pStyleIndex= myDialog.Pnl1.dropdownParaStyle.selection.index; cStyleIndex = null;}
                else {cStyleIndex = myDialog.Pnl1.dropdownCharStyle.selection.index; pStyleIndex=null; }
            else // нет символьных стилей
                if(!myDialog.Pnl1.pstyle.value)
                    alert("You must select a paragraph style");
                    return;
                pStyleIndex = myDialog.Pnl1.dropdownParaStyle.selection.index;
                cStyleIndex = null;
            } //  else // нет символьных стилей
           oStyleIndex = myDialog.Pnl2.dropdownObjStyle.selection.index;
           if(myDialog.Pnl2.Group1.etxt.text =="")
               alert("Enter the width of the text frame");
               return;
            else
                myW = myDialog.Pnl2.Group1.etxt.text;
                myH = myW;
            /*if(myDialog.Pnl2.Group2.etxt.text == "")
                alert("Введите высоту привязанного фрейма");
                return;
            else
                myH = myDialog.Pnl2.Group2.etxt.text;
           selectUnits = myDialog.Pnl2.Group1.dropdownMeasurementUnits.selection.index;
            myDialog= this.window.close( 1 );
        myGroup.cancelButton = myGroup.add( "button", undefined, "Cancel" );
        myGroup.cancelButton.onClick = function() { myDialog = this.window.close( 0 ); }
        myDialog.Pnl3 = myDialog.add("panel", undefined, "");
        myDialog.Pnl2.alignChildren = "left";
        myDialog.Pnl3.stxt = myDialog.Pnl3.add("statictext", undefined, "(с) Thomas Silkjær        (с) Борис Кащеев, www.adobeindesign.ru ");
        return myDialog;   
    } // fnc
    function getParagraphStyleByName(myStyleName)
              var DocParaStyles = app.activeDocument.paragraphStyles;
              var DocParaGroups = app.activeDocument.paragraphStyleGroups;
              myStyleName = ""+myStyleName;
              var pos = myStyleName.indexOf(":")
              if(pos == -1)
              // стиль не в группе
              var myStyle = DocParaStyles.item(myStyleName);
                        return myStyle;
              } //if
              else
                        var myGroupAndStyleNames = myStyleName.split(":")
                        var myGroupName = myGroupAndStyleNames[0];
                        var myStyleName = myGroupAndStyleNames[1];
                        var myGroup =DocParaGroups.item(myGroupName);
                        return myGroup.paragraphStyles.item(myStyleName);
    } // fnc
    function getCharacterStyleByName(myStyleName)
              var DocChStyles = app.activeDocument.characterStyles;
              var DocCharGroups = app.activeDocument.characterStyleGroups;
              // Есть ли в имени полученного символьного стиля двоеточие? (двоеточие разделяет название группы стилей и название стиля)
              myStyleName = String (myStyleName);
              var pos = myStyleName.indexOf(":");
              if(pos == -1)
              // стиль не в группе
                        return DocChStyles.item(myStyleName)
              } //if...
              else
              {// Стиль в какой-то группе
                        var myGroupAndStyleNames = myStyleName.split(":")
                        var myGroupName = myGroupAndStyleNames[0];
                        var myStyleName = myGroupAndStyleNames[1];
                        var myGroup = DocCharGroups.item(myGroupName);
                        return myGroup.characterStyles.itemByName(myStyleName);
              } // else
    } // fnc()+
    function getObjectStyleByName(myStyleName)
        var DocObjStyles = app.activeDocument.objectStyles;
        var DocCObjGroups = app.activeDocument.objectStyleGroups;
        myStyleName = String (myStyleName);
        var pos = myStyleName.indexOf(":");
        if(pos == -1)
              // стиль не в группе
                        return DocObjStyles.item(myStyleName);
              } //if...
        var myGroupAndStyleNames = myStyleName.split(":");
        var myGroupName = myGroupAndStyleNames[0];
        var myStyleName = myGroupAndStyleNames[1];
        var myGroup = DocObjGroups.item(myGroupName);
                        return myGroup.objectStyles.itemByName(myStyleName);
    } //fnc
    function resetGREPfindChange()
        app.changeGrepPreferences = NothingEnum.nothing;
        app.findGrepPreferences = NothingEnum.nothing;
        app.findChangeGrepOptions.includeFootnotes = false;
        app.findChangeGrepOptions.includeHiddenLayers = false;
        app.findChangeGrepOptions.includeLockedLayersForFind = false;
        app.findChangeGrepOptions.includeLockedStoriesForFind = false;
        app.findChangeGrepOptions.includeMasterPages = false;
    function createAnchoredFrame(myText, myObjStyle)
        var myGeometricBounds = [];
        var myInsertionPoint = myText.insertionPoints[0];
        myInsertionPoint.select;
        var AnchoredTextFrame = myInsertionPoint.textFrames.add();
        myGeometricBounds = AnchoredTextFrame.geometricBounds;
        //alert(parseFloat(myH) + " " + parseFloat(myW))
        myGeometricBounds[2] = myGeometricBounds[0] + parseFloat(myH);
        myGeometricBounds[3] = myGeometricBounds[1] + parseFloat(myW);
        AnchoredTextFrame.geometricBounds = myGeometricBounds;
        AnchoredTextFrame.anchoredObjectSettings.anchoredPosition = AnchorPosition.anchored;
        myText.move(LocationOptions.before, AnchoredTextFrame.texts[0]);
        AnchoredTextFrame.appliedObjectStyle = myObjStyle;
        AnchoredTextFrame.fit(FitOptions.CONTENT_TO_FRAME);
        var FO = FitOptions.FRAME_TO_CONTENT,
        tfs = ([]).concat.apply([], app.activeDocument.stories.everyItem().textContainers),
        t, i = tfs.length;
    while( i-- ) (t=tfs[i]).overflows && ( t.locked || t.fit(FO) );
    } //fnc
    main();

    Hi Cari,
    I did create a new user account (admin level) and InDesign works like a charm.
    When I went back to the other account, plug-ins gone, I deleted the prefs and caches, restarted and still everything is crashing as before.
    At least I am working on one account and I will contiue to troubleshoot on the other account. And at some point either the new account will crash or the old account will work and I will go from there.
    Thanks for the info about Mac remembering info. Always trying to be helpful these Macs.
    And thanks for getting at least into a workable space!!! I am supremely grateful!

  • Anchored Frame with auto shrink wrap

    Hi
    I have an issue that I need help with.
    I'm importing a range of graphics into my document and in my read/write rules I have all of the required properties to the images.  When the images are imported they are correctly displaying (size etc) but the default margin of the anchored frame is still there.  Is there any way that you can automatically apply the shrink wrap to the anchored frame (or set the anchored frame to have a default margin of 0?).
    Some of the images that we have are only 5mm x 5mm and there may be several of these on a single page.  Therefore selecting each individual image and pressing Esc m p to shrink wrap will become a very time consuming process.
    Any suggestions that may be provided would be greatly appreciated.
    Regards
    Reeta.

    You want Bruce Foster's ImpGraph plug in.
    http://home.comcast.net/~bruce.foster/ImpGraph.htm
    It works well.
    Art
    Art Campbell
                   [email protected]
      "... In my opinion, there's nothing in this world beats a '52
    Vincent and a redheaded girl." -- Richard Thompson
                                                          No disclaimers apply.
                                                                   DoD 358

  • Anchored frame that is run-around AND protrudes into margin?

    Hi,
    FM 8.04, Win XP.
    Is it in any way possible to create a small anchored frame (let's say 10 x 10 mm) that is run-around AND protrudes 1 or 2 mm into the left margin?
    I need it for drop caps and have managed everything except the protrusion into the margin.
    I can get protrusion into the margin by setting the anchored frame to "Outside column" or "Outside text frame" and then setting a negative value for "Distance from text column" - but then it isn't run around by the body text (despite inserting a text frame into the anchored frame and changing run-around properties).
    Any ideas?
    TIA,
    Mats

    Mats,
    Unfortunately, you're hitting the limits of anchored frame behaviour.
    It's an either/or proposition. You can have run-arounds, but you can't
    control the position except for placement at the start or end of a
    paragraph.
    An alternative, but clumsy and labour-intensive, is to set the start
    positions (indents - first & left) of all of the document paratags to
    be the desired offset (1-2mm) of the anchored frame. Then by setting
    the frame to start at the beginning of the anchoring paratag (not set
    with the indents), you will get the equivalent effect.
    If this is just going to be a single location and won't be subject to
    much editing (i.e. document reflow), then you could also consider
    using a graphic frame set with runaround, which you can position
    anywhere.

Maybe you are looking for