Scaling models

hello;
the scale command only offers scaling along the x,y,z axis's;
is it possible to scale along some other vector?
my models are coming from Rhino --> LW --> .w3d;
within the w3d's, the models ARE NOT aligned/positioned
relative to world(x,y,z)/world(0,0,0);
I can add to my w3d a couple of null points that I can use to
establish a scale-axis vector and also scale base point;
but then what ... does director have a way to scale along a
vector relative to some point?
thanks
dsdsdsdsd

quote:
Originally posted by:
dsdsdsdsd
the scale command only offers scaling along the x,y,z axis's;
is it possible to scale along some other vector?
Any other vector can be generated in the XYZ coords
performing different scale on each direction.
But probably you're looking for model scale using a different
pivot.
In this case all you have to do is to create a group, set the
desired position & rotation for this group, add the model as
child and perform the scale on that group.
cheers

Similar Messages

  • 3D Model Size

    Hi,
    With this script i want to find out the size of 3d model. But it does not work correctly: some models has the same size like in 3d program, other has a diferent size. Specialy by models with more than 1 mesh is the size calculation not corect. What is wrong on my script?
      myworld = member("3dmember")
      myworld.model (1).addModifier(#meshdeform)
    myvertexlist = (myworld.model[1].meshdeform.mesh[1].vertexlist)
      maxmin = [myvertexlist.max().x,myvertexlist.min().x,myvertexlist.max().y,myvertexlist.min().y,myve rtexlist.max().z,myvertexlist.min().z]
        repeat with n = 1 to myworld.model[1].meshdeform.mesh.count
        Nvertexlist = (myworld.model[1].meshdeform.mesh[n].vertexlist)
        if Nvertexlist.max().x > getAt(maxmin, 1) then
          setAt maxmin, 1, Nvertexlist.max().x
        end if
        if Nvertexlist.min().x < getAt(maxmin, 2) then
          setAt maxmin, 2, Nvertexlist.min().x
        end if
        if Nvertexlist.max().y > getAt(maxmin, 3) then
          setAt maxmin, 3, Nvertexlist.max().y
        end if
        if Nvertexlist.min().y < getAt(maxmin, 4) then
          setAt maxmin, 4, Nvertexlist.min().y
        end if
        if Nvertexlist.max().z > getAt(maxmin, 5) then
          setAt maxmin, 5, Nvertexlist.max().z
        end if
        if Nvertexlist.min().z < getAt(maxmin, 6) then
          setAt maxmin, 6, Nvertexlist.min().z
        end if
      end repeat
      SizeX = getat (maxmin, 1) - getat (maxmin, 2)
      SizeY = getat (maxmin, 3) - getat (maxmin, 4)
      SizeZ = getat (maxmin, 5) - getat (maxmin, 6)
      put SizeX * 2.54
      put SizeY * 2.54
      put SizeZ * 2.54
    Thanks for any ideas.

    even-1 wrote:
    Imagine scenario: you import wrong scaled model into 3d world, you know the real sizes(height, width, length) of the model. Which scale factor you need to correct the model size?
    I never had to deal with that scenario in the past 10 years.
    Simply because I own the sources of the 3D models.
    A W3D file is not a source file and Director Shockwave is not a 3D modeler.
    cheers

  • Macbook to Hdtv scaling problems

    Hi there!
    I have a macbook 2008 alumiinium 2.4ghz model. I am trying to connect it to my HDTV. I bought a miniDP to HDMI and connected to my tv and it works great. The picture fits the tv perfectly, however even though it fits the screen I was wanting to use the bigger screen to work on Logic Pro as a 13in screen is a bit of a pain at times. The problem is that so far my macbook screen it being stretched to fit the 42in tv screen so I don't actually get any extra space as my screen just looks bigger!
    Any suggestions on setting to fix this? I have an LG television if that helps. I cant for the life of my figure how to get it to work. The picture on my tv is really sharp and great but its just scaling up everything on my mac when what I really want is to be able to use that extra screen real estate for my logic pro projects!!!
    Cheers in advance!
    Tom

    There is a chance that your MDP to HDMI adapter is not working properly with audio. I had that problem with one that I had bought. I tried a newer one and the sound came through with no problems.
    The only thing I would suggest (before buying a new adapter) is, try a different HDMI cable... if you have one. That way you can rule out that as being the problem.

  • How to enable execute-disable bit and other hidden settings on Lenovo 3000 N200 model 0769!

    2008-11-16: I have posted some more settings, scroll down to message 19 in this thread to read them.
    Hi,
    Here's some good news for anyone with a Lenovo 3000 N200 model 0769, who is disappointed and frustrated with the lack of options in the BIOS setup menu. (I had a moan about that in this thread.)
    This is a long post but I hope you'll find it worthwhile. Here are the features/settings which I will explain how to enable:
    The BIOS disables the execute-disable bit function of the CPU, with no way to turn it on. You can enable it.
    You can set VGA and VESA graphics modes to not be stretched to fill the whole screen (sharper graphics with no distorted aspect ratio).
    Speed up the POST display by skipping the memory test
    Disable various features (if you don't use them, that might save some power): the HD audio controller, WLAN card, on-board LAN, shadowing of the video BIOS
    Enable beep before booting the OS
    Enable key click sound (only in DOS, not Windows or Linux)
    I'm still working on this, and hope to figure out more hidden settings soon, e.g. to disable the DVD drive and trackpad, and to change the video output from NTSC to PAL.
    The information below applies to the Lenovo 3000 N200 model 0769 with BIOS version 3.03. My N200 has Nvidia graphics. For some background on the general principles/research required to figure this out, please see this thread at Wimsbios.com.
    To change the settings, you need to create a bootable DOS floppy disk or USB drive. Download SYMCMOS.EXE (Google for it) and put it on the bootable disk. Boot the disk and run SYMCMOS to back up your current CMOS settings: SYMCMOS -Lsettings.txt
    Next load the settings.txt into a text editor. It will begin like this:
    ( SYMBOLIC CMOS EDITOR - Version 643710-035 )
    CRC = 3EDD
    (0000) [0001]
    (0003) [0001]
    Your CRC value may differ. Each line after the CRC contains a token number, followed by the value of that token. You can start with the settings.txt you created and edit any tokens you want to change, or delete all token lines and just include the tokens you want to change. Then use SYMCMOS.EXE to apply the new file: SYMCMOS -V2 -Uupdate.txt
    After running that command you can reset, and hopefully notice the new settings in action. (For certain settings, such as re-enabling the execute-disable bit, you need to turn the computer off then on again.)
    Here are some specific tokens you can change:
    Token Default New Description
    (0000) [0001] [0000] Disable the HD audio controller
    (0042) [0001] [0000] Disable LCD panel graphics scaling/stretching
    (004B) [0000] [0001] Beep before booting the OS
    (0267) [0001] [0000] Enable support for the CPU execute-disable bit
    (028E) [0000] [0001] Enable key click (only works in DOS and BIOS setup)
    (02A3) [0001] Set to 0 for slower memory test, or 2 (or 3?) to skip
    test for faster booting, especially with 4GB RAM
    (046E) [0001] [0000] Disable video BIOS shadowing. (Best to leave enabled.)
    (0471) [0000] [0001] Enable 1MB memory hole at 15MB. (Best leave disabled.)
    (0486) [0001] [0000] Disable PCI Express ports 1-6. This takes precedence
    over the individual port bits below, and disables the
    LAN, WLAN and (probably) ExpressCard port.
    (0489) [0001] [0000] Disable PCI Express port 2 (WLAN card)
    (048C) [0001] [0000] Disable PCI Express port 3 (maybe ExpressCard?)
    (048F) [0001] [0000] Disable PCI Express port 4 (LAN)
    For example, if you want to disable LCD panel scaling and enable the execute-disable bit, you would create a text file like this:
    CRC = 3EDD
    (0042) [0000]
    (0267) [0001]
    Some final points:
    Loading the default settings in the BIOS setup menu will overwrite any changes you make using SYMCMOS.EXE. So keep that bootable disk around in case you need to re-apply your settings in future.
    The token numbers above are specific to version 3.03 of the Lenovo 3000 N200 model 0769 BIOS. They might be different for earlier BIOS versions, and will be different for other models of computer.
    Once you have created a bootable floppy disk with a text file containing your updated settings, you could create a bootable CD with the floppy's data on. Just boot that CD to restore your settings in future.
    Before experimenting with randomly changing token values to discover other hidden settings, make sure you know how to reset your computer's CMOS memory! Changing some settings results in your computer becoming unable to boot, so you can't use the BIOS setup screen to reset. I wrote about how to reset the N200 model 0769 CMOS in this thread.
    If you discover any other settings, please let me know.
    Any changes made are at your own risk; if you "brick" your laptop don't blame me!
    Message Edited by Donuts on 10-15-2008 09:45 AM
    Message Edited by Donuts on 11-16-2008 11:35 PM

    Hi Donuts !
    My computer is a 3000 N200 0769BAG. It has a Dual Core Pentium and the information I get about the BIOS using lshw are :
    ========================================================================================
    description: BIOS                                                                                                                            
              vendor: LENOVO                                                                                                                              
              physical id: 0                                                                                                                              
              version: 68ET35WW (04/16/2008)                                                                                                              
              size: 106KiB                                                                                                                                
              capacity: 960KiB                                                                                                                            
              capabilities: pci pnp apm upgrade shadowing escd cdboot bootselect edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot biosbootspecification
    ====================================================================================
    I've nothing telling me it is a 3.03 BIOS version but only got the BIOS file name (68ET35WW);
    Is it the same BIOS you used and if not how could I find the list of (token, default value,new seting) for that particular BIOS ?
    Thanks a lot in advance for your help !
    Regards

  • All of a sudden the transform tool and free transform tool are grayed out and will not allow me to scale, rotate, or do anything to an image I just scaled?

    I've been using Photoshop for years, but tonight I ran into an issue that I don't understand. I was working with a file that I had been working with for months. I added a new image and resized it to fit as I needed just as I always have (select layer with image > EDIT > TRANSFORM > SCALE.) All was working fine. I added a second image to the file I was working on (I added it by dragging it into the file from another window just as I had added the first image.) However, this time when I tried to select EDIT > TRANSFORM > SCALE this option was not available to me. Only the FREE TRANSFORM PATH or TRANSFORM PATH options were available. When I selected the SCALE in the TRANSFORM PATH menu (just to see what would happen) it started to scale a completely unrelated layer that DID have a path to it. However, the layer of my image was still selected and NOT the layer with the path. This image layer has no path even on it or around it in any way.  I tried to select the folder layer and the same thing happened. It selected this one path and tried to scale it. I selected the layer I just previously scaled and tried to scale it again and it will only allow me to select the transform path option. I selected it to see again what would happen and once again it selected this completely unrelated path on a completely different layer. WHAT?????  This makes absolutely no sense! I have tried restarting both my computer and PS and it won't stop happening! I really need to get this file finished and uploaded to my developer ASAP so I really hope that someone has some insight as to why this is happening.

    hedger,
    How do you expect anyone to help when we don't know a darned thing about the file, abut your setup, exact version of Photoshop and your OS, machine specs, etc.?
    BOILERPLATE TEXT:
    Note that this is boilerplate text.
    If you give complete and detailed information about your setup and the issue at hand,
    such as your platform (Mac or Win),
    exact versions of your OS, of Photoshop (not just "CS6", but something like CS6v.13.0.6) and of Bridge,
    your settings in Photoshop > Preference > Performance
    the type of file you were working on,
    machine specs, such as total installed RAM, scratch file HDs, total available HD space, video card specs, including total VRAM installed,
    what troubleshooting steps you have taken so far,
    what error message(s) you receive,
    if having issues opening raw files also the exact camera make and model that generated them,
    if you're having printing issues, indicate the exact make and model of your printer, paper size, image dimensions in pixels (so many pixels wide by so many pixels high). if going through a RIP, specify that too.
    etc.,
    someone may be able to help you (not necessarily this poster, who is not a Windows user).
    a screen shot of your settings or of the image could be very helpful too.
    Please read this FAQ for advice on how to ask your questions correctly for quicker and better answers:
    http://forums.adobe.com/thread/419981?tstart=0
    Thanks!

  • Windows scaling issues with ArcMap 10.2 on rMBP running Windows 8.1

    Hi all,
    Sorry if this question is covered elsewhere, I ran a search and didn't find anything useful.
    I recently installed Windows 8.1 on my 13'' rMBP late 2013 model using Boot Camp 5.1, along with all the drivers. The install seemed to go fine, and scaling of windows for things like internet explorer, pdfs, etc is appearing normal. However, when I use ArcMap 10.2 the menu items at the top of the window become tiny, see below.
    I don't seem to have this problem with a related program (ArcCatalog), so I'm not sure what it could be. I've just tried playing with the settings under Screen Resolution but nothing seems to be working.
    If anyone has a solution to this it would be greatly appreciated!
    Thanks
    Christine

    Try decreasing touchpad sensitivity.

  • Update vertices of a model during runtime

    Hello,
    I’m writing a program using Java3D in which I read a model (composed of one 3d surface) from an obj file, I display the model correctly. Then I would like to modify the position of the vertices “live” of this model. This operation can be done many times. I did several attempts based on some examples, but it still doesn’t work. The first errors where related to the capabilities (I guess I fixed that) and then, I don’t have errors, but nothing happens on the screen (the model is still the same). I’m suspecting that there is no link between the geometry (vertices) and the scene, but I don’t know how to connect them.
    Do you know why it doesn’t work in the solution that I tried? Does anyone know how to do this in a better way? I’m a beginner with java3d, am I missing something?
    Thank you for your help in advance.
    Slim.
    //  Loading the model correctly
        // using ncsa Portfolio loader packages
         Scene s = null;
           ModelLoader modelLoader = new ModelLoader();
         try {
           s = modelLoader.load(fnm);   // handles many types of file
         catch (Exception e) {
           System.err.println(e);
           System.exit(1);
        sceneGroup = s.getSceneGroup();
        // I added the attribute (Shape3D shape) to have a reference on the model.
        shape = (Shape3D) sceneGroup.getChild(0);
    // I added all the capabilities (may be some are unneeded but, to avoid any error related to this)
        shape.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
        shape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
        shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
        shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
        shape.setCapability(GeometryArray.ALLOW_COLOR_READ);
        shape.setCapability(GeometryArray.ALLOW_FORMAT_READ);
        shape.setCapability(GeometryArray.ALLOW_COUNT_READ);
        shape.setCapability(GeometryArray.ALLOW_COORDINATE_READ);
        shape.setCapability(IndexedGeometryArray.ALLOW_COORDINATE_INDEX_READ);
    // this part of code is to get the geometry
    // vertices is an attribute (array of Point3f)
    // ga is an attribute (GeometryArray)
         ga = (GeometryArray)shape.getGeometry();
         verticesNum = ga.getVertexCount();
         GeometryInfo gi = new GeometryInfo(ga);
         vertices = gi.getCoordinates();
      // create a transform group for the object's bounding sphere
        TransformGroup objBoundsTG = new TransformGroup();
        sceneGroup.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
        sceneGroup.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
        sceneGroup.setCapability(GeometryArray.ALLOW_COUNT_READ);
        objBoundsTG.addChild( sceneGroup );
    // Other code regarding the Transformation ..
    // At this level I have some data in the array vertices.And this the code I use to update the vertices of the model:
    public void updateGeometry(){
    ga.updateData(new GeometryUpdater(){
            public void updateData(Geometry geometry){
              updateVertices();
    shape.setGeometry(ga);
      private void updateVertices() {
    // Modify the values of the vertices ..
            vertices[i ].x += XX ;
            vertices[i ].y += YY;
            vertices[i ].z += ZZ;
    }

    I'm putting a complete (and simplified though) runnable code, that might help to understand the problem. It is composed of 3 files.
    It needs an object file name to be modified in the main().
    Slim.
    File: VisObj.java
    // File: VisObj.java
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import com.sun.j3d.loaders.*;
    import com.sun.j3d.utils.geometry.*;
    import com.sun.j3d.loaders.objectfile.ObjectFile;
    public class VisObj
      private TransformGroup moveTG, rotTG, scaleTG;
      public Shape3D shape;
      private int verticesNum = 4000;
      private Point3f [] vertices = new Point3f[verticesNum];
      private GeometryArray ga;
      private BranchGroup sceneGroup;
      public VisObj(String fileName)
         Scene s = null;
         try {
                ObjectFile loader = new ObjectFile ();
           s = loader.load(fileName);
         catch (Exception e) {
           System.err.println(e);
           System.exit(1);
        sceneGroup = s.getSceneGroup();
        shape = (Shape3D) sceneGroup.getChild(0);
        shape.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
        shape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
        shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
        shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
        shape.setCapability(GeometryArray.ALLOW_COLOR_READ);
        shape.setCapability(GeometryArray.ALLOW_FORMAT_READ);
        shape.setCapability(GeometryArray.ALLOW_COUNT_READ);
        shape.setCapability(GeometryArray.ALLOW_COORDINATE_READ);
        shape.setCapability(IndexedGeometryArray.ALLOW_COORDINATE_INDEX_READ);
         ga = (GeometryArray)shape.getGeometry();
                    verticesNum = ga.getVertexCount();
                    System.out.println("Number of verts is " + verticesNum);
                    GeometryInfo gi = new GeometryInfo(ga);
                    vertices = gi.getCoordinates();
                    ga.setCapability(GeometryArray.ALLOW_REF_DATA_WRITE);
                    ga.setCapability(GeometryArray.ALLOW_REF_DATA_READ);
        // create a transform group for the object's bounding sphere
        TransformGroup objBoundsTG = new TransformGroup();
        sceneGroup.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
        sceneGroup.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
        sceneGroup.setCapability(GeometryArray.ALLOW_COUNT_READ);
        objBoundsTG.addChild( sceneGroup );
        BoundingSphere objBounds = (BoundingSphere) sceneGroup.getBounds();
        double radius = objBounds.getRadius();
        Transform3D objectTrans = new Transform3D();
        objBoundsTG.getTransform( objectTrans );
        Transform3D scaleTrans = new Transform3D();
        double scaleFactor = 1.0/radius;
        scaleTrans.setScale( scaleFactor );
        objectTrans.mul(scaleTrans);
        objBoundsTG.setTransform(objectTrans);
        // create a transform group for scaling the object
        scaleTG = new TransformGroup();
        scaleTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
        scaleTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        scaleTG.addChild( objBoundsTG );
        // create a transform group for rotating the object
        rotTG = new TransformGroup();
        rotTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
        rotTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        rotTG.addChild( scaleTG );
        // create a transform group for moving the object
        moveTG = new TransformGroup();
        moveTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
        moveTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        moveTG.addChild( rotTG );
    public void updateGeometry(){
          ga.updateData(new GeometryUpdater(){
            public void updateData(Geometry geometry){
              updateVertices();
          shape.setGeometry(ga);
      private void updateVertices() {
          for (int i = 0; i < verticesNum; i ++) {
            vertices[i ].x +=5 ;
            vertices[i ].y +=10;
            vertices[i ].z = 10;
      public TransformGroup getTG()  {  return moveTG; }
    }  File: VisPanel.java
    // File VisPanel.java
    import javax.swing.*;
    import java.awt.*;
    import com.sun.j3d.utils.universe.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    public class VisPanel extends JPanel
      private SimpleUniverse su;
      private BranchGroup sceneBG;
      private BoundingSphere bounds;
      private VisObj visobj;
      public VisPanel(String fileName)
        setLayout( new BorderLayout() );
        setOpaque( false );
        setPreferredSize( new Dimension(512, 512));
        visobj = new VisObj(fileName);
        GraphicsConfiguration config =
              SimpleUniverse.getPreferredConfiguration();
        Canvas3D canvas3D = new Canvas3D(config);
        add("Center", canvas3D);
        su = new SimpleUniverse(canvas3D);
        createSceneGraph();
        su.addBranchGraph( sceneBG );
      private void createSceneGraph()
        sceneBG = new BranchGroup();
        bounds = new BoundingSphere(new Point3d(0,0,0), 100);
        lightScene();     
        sceneBG.addChild( visobj.getTG() );
        sceneBG.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
        sceneBG.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
        sceneBG.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
        sceneBG.setCapability(BranchGroup.ALLOW_DETACH);
        sceneBG.compile();
      private void lightScene()
        Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
        AmbientLight ambientLightNode = new AmbientLight(white);
        ambientLightNode.setInfluencingBounds(bounds);
        sceneBG.addChild(ambientLightNode);
        Vector3f light1Direction  = new Vector3f(-1.0f, -1.0f, -1.0f);
        DirectionalLight light =  new DirectionalLight(white, light1Direction);
        light.setInfluencingBounds(bounds);
        sceneBG.addChild(light);
      public void modifyObject()
      {    visobj.updateGeometry();   }
    } File: VisPlayer.java
    // File: VisPlayer.java
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class VisPlayer extends JFrame
      private VisPanel vp;   
      private JButton modifyobj;
      public VisPlayer(String fileName)
        super("VisPlayer");
        vp = new VisPanel(fileName);
         Container c = getContentPane();
        c.setLayout( new BorderLayout() );
        c.add(vp, BorderLayout.CENTER);
        JPanel p=new JPanel();
        modifyobj=new JButton("Ok");
        modifyobj.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
            vp.modifyObject();
        p.add(modifyobj,BorderLayout.CENTER);
        c.add(p,BorderLayout.NORTH);
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        pack();
        setResizable(false);
        setVisible(true);
      public static void main(String[] args)
      { new VisPlayer("hand1.obj"); }
    }

  • Where do I find the UI Scaling option in Photoshop CC 2014?

    I have a Companion Cintiq running Win 8.1..I am a new PS user..After searching for an answer to the tiny and unreadable text and icons on my screen and not being able to enlarge them (no, the display fix inside Windows doesn't do it), I basically found there is no answer at all from Adobe on helping us actually see the software there selling us..So in reality, I'm supposed to suck it up and be happy with what I have?..Can anybody fill me in on an upcoming fix or if there is one and I just missed it?

    If you have the newer Cintiq companion 2 CC 2014 has a 2x UI preference which may work quite well the at 1/2 resolution the display 1440 height become 720  so the single column tools bar will just not fit on the display however it will fit in two column mode.  All icons, dialog, menu bars. Pallets etc will be scaled up ins size 2x each pixel is displayed using 4 pixels to double size what is displayed.   However the image area is not scaled to 1/2 resolution so when you view image actual pixels 100% zoom you see your image at your display high resolution.
    Older companions displays were only 1920x1080 pixels  have a higher the 96ppi   but not a resolution as high as the newer model.  If the UI is to small for you you need to force Windows scaling you can have windows scale the display 1.25x or 1.5x Photoshop UI should fit however the image Photoshop displays will also be scaled by windows.  1.25 and 1.5 X are not even factor of resolution so some round artifacts.  Scaling the display also defeat high resolution yor effect have a lower resolution display.
    2x UI is an even factor of resolution there is no rounding scaling  but requires a display with 2048 x 1536 for 2x makes the ui be 1024x768 and meets Photoshop required min display size.  The work will on 4K displays 3840x2160 becomes a UI the is 1K 1920x1080.
    It was your choice to buy the display you did Wacom did not hide its size and number of pixels.  OS and Application had always run on displays the had a ppi around 96ppi. So every was programed  to work on 96 ppi displays.   When you reduce pixel size to cram in more detail into the same area you need to add pixels to UI components to display the the size the displayed on 96ppi displays.   OS and Applications were not designed with a feature like the.  The problem became evident is 2001 when IBM marketed the 204ppi 4k display its t220.  That display was very expensive so it was not widely used only used for special needs.  Only now are high resolution display affordable so now the problem is beeing addressed. But is will take time  OS and Applications will need updating.

  • OO Batch Model and optimised Java for batch???

    Hi All,
    I'm looking to see if there is any literature of OO models for batch processing and optimising of batch java.
    Thoughts & comments welcome.........
    I have an existing batch process running on a mainframe which is very successful. We would like to leverage this by building a similar batch process to run 'anywhere' so likely options are Java/Unix.
    There are many patterns/models etc for OO based GUI / interactive processes but very few for (that I have found) for batch.
    I have worked mainly with mainframe batch and online applications and come with the baggage that activity that can be processed in batch should be to avoid overloading the online container (CICS region, web server etc).
    I believe that this continues to be true, as well as the particular data we are processing benefits from efficiencies of batching the data together to store eventually on tape.
    In view of not finding any literature (which I doubt is the case) it seems that the problem is the same, so probably the solution is also similar.
    In the procedural solution, a Jackson (or similar), would have been designed which would then reflect the procedures build into the code.
    I expect that if instead of procedures classes where defined, certainly at a higher level then the design would still be ok.
    (So a the higher level you have a 'main' class, which instansiates a 'read' io object, a processing object which handles the actual processing activity and a write io object).
    The level to which would would combine procedures together, or further split them out, would then be the main point of discussion.
    ( However am open to the above suggestion being completly wrong).
    Then there is efficient configuration when processing........
    When running on the mainframe the code is loaded once, the memory for all the working storage strucures created. When actually processing there is no instantiating classes, or running the garbage collector etc. I re-use the same memory for each new record red in / processed / written out and all the code is normally loaded once when first called and the same code is re-used until all records processed.
    Is there any way that I can replicate this within Java either in it's own JVM or running in a container such as websphere? When processing the volume of data that we do (20 million db entries + 40GB of document data avg) then anything not optimised is costing money and available processing time.

    I suspect that batching is underused thoughrather
    than overused.Can you elaborate on that? What kind ofconditions
    would you advocate batching for? Running daily, monthly, etc reports. Or something
    that feeds those.I don't disagree, I just don't even see this as 'batching'. Batching to me is when you take something that could be done incrementally and purposely doing it in large groups at set times or time-periods. If you have a daily report and you do it daily, you're just doing the most obvious approach. It might not even be the most efficient.
    >>
    I have some experience working with batch java
    applications running in Unix. And I can tell you
    that they did not improve anything. I suspect I would agree with that. I am not
    advocating that the batching be done in java. Just
    that idea that an 'incremental' process that requires
    moving data versus a 'batch' process that doesn't
    isn't something that I would normally consider a good
    idea.I think we are thinking about different things. I'm really just talking about incremental or real-time vs. batching.
    They were
    actually the source of many of our issues. That
    added abitrary time lags during times of lowvolumes,
    sometimes adding 30 minutes or more to theprocessing
    of a transaction as it waited for the nextscheduled
    batch. They also made our backlogs worse in timesof
    high volumes because the incoming data flow was
    uneven, we would often get big batches of datafrom
    partner systems (more batching, gotta love it)that
    hit us when our batch process was sleeping. 5,10,
    15 minutes would pass where the server ran at 10%
    capacity while huge backlogs were piling up. It
    didn't make anything better. It was just causing
    idling.
    What was the timeliness requirements for the
    processing? Did it need to be completed by 2am in
    the morning? Or could it have really just been
    completed on demand?It was B2B transactions ASAP was the time requirement. I guess the upper limit was 6 hours or so. But batching didn't really decrease the processing time per transaction anyway and the server was never dedicated to the batch or anything so there were still context switches.
    It just seems to me that in Java with all the nice
    threading we have access to, the server shouldnever
    be idle and if you cannot handle your volume youare
    better off adding more servers, not attempting to
    batch things.I have created applications that were intended to run
    'batch' jobs which could be spread across servers.
    Those particular processes had to finish within a
    very narrow time span as well - about two hours as I
    recall. There was an incremental as well as batch
    functionality that needed to be run for this. The
    batch functionality ran on the database. The
    incremental took the batched results and handle the
    incremental part.
    Although management was never willing to dedicate
    more than one server to the processing so I guess it
    wasn't that important to them.
    I have seen apps that claimed they were 'fast'
    because they did all of the incremental processing
    outside of the database. The design required moving,
    literally, the entire database over the network to
    other servers which would then process it.
    Processing it in the database would have taken
    orders of less time. And that was time sensitive
    data. I can't remember if that app allowed for
    multiple boxes to do the processing. I do know that
    the people working on it could never figure out the
    bottleneck (it was scaling to something like 12
    hours a day which was not acceptable.)I guess I don't see doing it on the DB as implying batching. We use triggers to drive processes in Java, COBOL, whatever.

  • 3D Print Scaling Error

    I have been trying out Photoshop's new 3D functions for color 3D printing and ran into an issue.  I was hoping someone could point me to the setting that is causing the issue.
    The print I'm doing is basically a cylinder with a logo painted on one side.  I imported the .stl file and Photoshop says the print size is 3.65"x3.65"x0.2" in the 3d print setting menu which matches what the original model was made to.  I did not hit the "scale to print volume" option to change the size.  I then selected 3D print and after it finishes everything it has rescaled the print.  The amount it is rescaling isn't consistent either, it originally shrunk only the X and Y axis by 30% and now when I open the file it is now scaling up the XYZ axis by 5%.
    Any help would be appreciated.

    Hi Sir,
    Sorry for late reply.
    My HTML page has not Hosted. It is on developing stage. I will post images.
    The first pic shows print preview in 50% so it works fine. But when in change to fit to Shrink option page splits wrongly. The part of first page supposed to come on 2nd page changed to end of file. It worked fine on IE, chrome, Safari and Opera

  • DnD with 2D scaled drop target

    This is more a strategy question than a code question - although code examples will be muchly appreciated.
    I have a model drawing component (ModelDrawingComponent extends JInternalFrame) that contains child components ( ie. ClassNode extends JInternalFrame). I need to be able to drop information into the child component (ClassNode). My description is greatly simplified leaving out several layers such as JScrollPanes, JPanels, etc.
    I have overridden the main JPanel's paintComponent() method to allow 2D drawing of lines and scale transformations of the entire model component resultant view. To provide mouse event interactions for this I use a GlassPane which transforms the mouse point to a scaled component adjusted point.
    My problem is implementing a DropTarget for Drag and Drop with 2D scaling - the mouse gestures reference points that are not adjusted for the scaling. So I need to transform the point geometry to determine whether the drag is over one of the ClassNode components.
    Does anyone have experience with DnD and 2D transformed targets they would like to share - ie. what is the best strategy for managing the transformation of the current drag point to the transformed / scaled point? I am assuming that the DropTarget should be the GlassPane. If so, how do you manage only showing a Drop OK Cursor when the cursor is over a child (ie. ClassNode) instead of over the GlassPane? What event listeners do I need to override to accomplish this?
    Thanks in advance.

    I don't know why your DropTarget implementation doesn't work, but an alternative, more high-level way of doing what you want is to use a TransferHandler:
            canvas.setTransferHandler(new TransferHandler() {
                @Override
                public boolean canImport(TransferSupport support) {
                    if (support.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                        support.setDropAction(DnDConstants.ACTION_COPY);
                        return true;
                    return false;
                @Override
                public boolean importData(TransferSupport support) {
                    try {
                        String text = (String) support.getTransferable().getTransferData(DataFlavor.stringFlavor);
                        System.out.println(text);
                        return true;
                    catch (Exception ex) {
                        ex.printStackTrace();
                        return false;
            });

  • HP 2311xi Monitor Screen Scaling

    Have an HP 2311xi Flat Panel Monitor and all was OKay, until I upgraded my operating system from Windows 8.0 Pro to Windows 8.1 Pro and now  my monitor screen size has about 1/2 inch of black screen around all edges of the display.  All was good with Windows 8.0 and the display filled the screen correctly form edge to edge.  I went to the monitor's display controls and under Main Menu; Image Control; Customer Scaling; the "Fill to Screen" and "Fill to Aspect Ratio" are grayed out and unavailable. The only option is "Overscan" and that give me either the 1/2 inch black border or causes the display to 'overscan' and puts part of the screen display off the screen. In an using HDMI as the input source to the display, however, I had no trouble with is under Windows 8.0.
    Besides going back to Windows 8.0, any suggested fixes for this issue.
    Thanks,
    BillMNJ
    This question was solved.
    View Solution.

    Hi BillyMNJ,
    Sorry for the confusion. Our situation is not exactly the same. Upgraded from Win 8 to Win 8.1 via MS Download Store. Graphics driver seemed to be OK except screen scaling issue. Did not check AMD driver version at that time. Then decicded to try HP's Win 8 AMD driver to correct scaling problem.. So I rolled back the graphics driver.
      That solved the scaling issue but I was having other display problems.
    Updated to the version you have on your system now. (image below). No resultant scaling issue after this update.
    Had some minor issues so I uninstalled only AMD CCC using Programs and Features applet in Control Panel and selected Repair AMD Catalyst Install Manager because it (CCC) was present from the Win 8 HP unified driver install. 
    Maybe try uninstalling and removing only CCC if you have it or remove current graphics driver, reboot, and reinstall using Microsofts drivers ( the version we both have now) either via MS Win Update or device manager.
    I have been troubleshooting the graphics problem since installing Win 8.1
    Right now screen scaling issue has been corrected but have other minor issues.
    I think this problem, in my case, is because the Radeon HD 7570 card is OEM - AMD does not provide support. So, if HP does not provide a Win 8.1 Unified driver package for my model, it is problematic as to whether a complete solution is possible. 
    Hope this clarifies??
    Jaco
    Errare humanum est.

  • Support for 11x17 paper in Oracle SQL Developer Data Modeler 4.0.0.833

    In last versions of the version 3 of this product the ability to print your data model on 11x17 paper was included by default.  This support was even in some of the beta 4 version of the data modeler.  But, in the release of the production version for this tool, the 11x17 paper printing option has dissapeared from this product.  Can you please add this back into your product because those of us with large data models but no plotter need this paper size.
    Thanks,

    Hi,
    What printer do you use? You need to set it as default printer for your system and you should get ledge size as option if the printer supports it.
    Otherwise you can print diagram to PDF file and then you can use Adobe reader or Foxit reader to print to separate pages - it's poster in Adobe and scaling type "tile large pages" in Foxit
    Philip

  • Data Model: generation questions

    Hello,
    i'm using a latest and greatest version of the tool.
    I seemed to have problems generating the relational from logical.
    2 questions :
    1.
    emp/dept relation. in emp table i create a UK on deptno. Deptno is a FK from dept table.
    that's fine in the logical diagram, but once i hit generate it produces 2 columns in the emp - deptno ( as a fk ) and deptno2 with UK on it.
    I can't figure out why it's doing it and how to prevent it from doing this.
    2.
    when i create a view . BTW, if you can please! make the process of creation more... user friendly - i think it would be great.
    Anyway, step by step:
    create view in logical.
    add 3 tables using the query builder.
    add where clause using all 3 tables.
    generate to relational.
    go back to logical and remove on table. save changes to logical, try to generate to the relational.
    My end result - no changes to the relational view....
    Please advise.
    Also would be great if you can point me to smth more than a "help" about all those convoluted options in the "generate" menu(s).
    And thank you for this neat tool. The more i use it the better i like it.

    Maggie,
    > .. That's really unusual, so I would ask why this isn't a single entity
    you are right - it's making little sense. I agree. The reason been - I have to extend an existing schema. And i can't modify objects.
    Here is the real life scenario ( maybe you will have a better approach - i'm all for it ).
    1. I have a table Servers( server_name varchar2 - PK, + bunch of other columns )
    2. Yes, it's not a mistake PK is defined on the varchar server_name.
    3. I can't alter the table in any way.
    4. I'm creating a new entity - Book.
    Book should have only one entry per server, and have other information about the server, applications installed on it, etc.
    5. there is an entity that describes applications, per server, per environment. Where PK is defined server_name, application_name,environment_name.
    6. I think to combine these 2 ( server and applications) into Book . I'll have other entities off the Book.
    So in logical I have:
    applications:book => N:M
    applications:servers => N:1
    servers:book => 1:1
    speaking of which... hmm.. i can actually have another entity where i'll store the server_name and other information from Book. and i can create a view where i'll display servers' + book's info joining them on the server_name. I'll have to put "on update/insert/delete" trigger to handle the DML. Plus i'll have to have a UK on server_name in the new entity...
    I think it's good solution to avoid 1:1 relation.
    But it seems that 1:1 will be more streamline at this point - faster to implement, lesser locks, better scaling...
    ... Which is the parent entity and which is the child entity? With a 1-1, how do you tell?Agree.. no way to distinguish.
    ... Let me ask this, on examples where you have a standard 1-to-many relationship between two entities, do you get just the one standard foreign key column?If you imply - "does modeler generate one column in rel model ?" - then my answer is "yes". It generates one column wo problem.
    Happy New Year.
    Andrew

  • Timeout Object Problem: Can't recreate scaling error

    In my movie there is a function that scales 3D objects over
    time using a timeout object. The 3D objects are in an array that is
    shuffled each round, and based on the outcome of the array shuffle,
    some 3D objects are scaled and some are not.
    I have been testing this for a while and it almost always
    works as I anticipate, however I have encountered some events
    wherein unexpected 3D objects are scaled. To track down the error,
    I have been tracing the results of the array shuffle, as this is
    what drives the scaling. When I encountered an event where
    unexpected objects were scaled I recorded what I thought was a
    “bad” array shuffle. Then, disabling the array shuffle
    function, I set the shuffle result to my “bad” array. I
    expected it would recreate the problem (unexpectedly scaled
    objects) however it worked accurately this time around.
    Are there any rules regarding timeout objects that are
    commonly broken that may be causing this? Does a timeout object
    behave any differently in the Director environment than it does in
    a published projector? Any broad or general tips (sorry I
    can’t post the code) are appreciated.

    Hi
    In the "fShrink", function the variable called "sTimeout" is
    a string:
    sTimeout = String("ShrinkTimeOut"+(_system.milliseconds));
    in the function "fShrinkLoop", the second parameter being
    passed in is the timeout object. Therefore in this function, the
    variable called "sTimeout" is a timeout object.
    The thing to remember is the object that sends the message
    determines what the parameter is (it doesn't matter what you name
    the parameter).
    In the case of Timeout objects, the first parameter is the
    object that Director sends the timeout callback message to (in this
    case, your model object... and since your model doesn't have a
    method for handling the response, Direct tries the global name
    space instead - but still conveniently sends the reference to the
    'callback object' as the first parameter). The second parameter is
    always a reference to the timeout object itself.
    (on a side note - you have taken advantage of a quirk with
    timeout objects that let you pass parameters with timeout callbacks
    by using the 'callback target' but letting a movie script handle
    the callback). If you want to send more than one parameter, you
    have to bundle them together into a single paremeter object).
    -- Luke

Maybe you are looking for