How would you do uneven distribution of objects?

I whish the Transform Each... tool had a feature allowing specified number of copies along with the Skew feature that is available in the Grid tool.
So far I've been doing this by using the Grid tool as a reference and manually arranging objects which is a big pain in the a**
Anyone knows a better way?
or another vector program, plug in, script, etc?
This is a piece of cake in most 3D programs which is a much more complex task for the 3D programmers and I can't believe that Illustrator still doesn't have such essential tool.

Emil,
Any brush approach wil lead to trouble in a case like this because they will either give you misalignment with the path or distortion.
A blend approach may do it.
In addition to what Steve just said (I had to leave while writing the following, and saw his new post #13):
Your grid approach (upper row) seems to lead to a strange decrease pattern (reduction in distance between pairs of vertical stroked paths),
The first decrease being 3.449 pt, the next three being 2.821, 2.823, and 2.822 (constant), then 3.507 and back to 2.822 again
The last five decreases being 0.314, 0.626, 0.631, 0.338, and 0.002.
Your blend approach (lower row) seems quite consistent with a decrease pattern (reduction in distance between (outer bounds of) pairs of squares) that has a constantly decreasing decrease (the change in the reduction to the next pair) of about 0.053 (with slight variations between 0.049 and 0.057, and leading to an intriguing end game where the reduction is actually increased.
The blend made by Steve seems to lead to an exponentially decreasing decrease (something like 1/1.1875, corresponding to an increasing increase from right to left by the factor 1.1875). I am afraid we should have to ask Teri what the exact relation between handle lengths and nature of decreasing decrease is; I believe it is somewhat complex with (at least) two different handle lengths.
As it appears, I believe your grid approach is less useful than it seems.
Depending on the desired nature of the decrease/increase (depending on which end you start with) you may do it in a few different ways, including the blends mentioned above.
If you wish to really control the decrease/increase, I am afraid you will have to use a more laborious blend approach, a bit similar to the one in this thread with a fake blend:
http://forums.adobe.com/thread/808345?tstart=30
Possible approach:
Using a blend to fill a full circle, be aware that you need to cut the circle where you wish the blend to start/stop, and that the first/last objects are on top of each other so you need one extra.
Preparing the contents of the fake blend:
If you want a specific exponentially decreasing/increasing decrease/increase, you may, using the Alt/Option+O+T+M shortcut (or something similar) to copy:
1) Create the basic object and the first copy, inserting the first distance;
2) For the next distance insert the percentage distance (110% for a 10% increasing increase, or similar) and copy the percentage distance;
3) For the following distances, until you have them all, insert the copied percentage distance instead of the current value (in this case you just get 110%);
If you want a specific constantly decreasing/increasing decrease/increase, you may, using the Alt/Option+O+T+M shortcut (or something similar) to copy:
1) Create the basic object and the first copy, inserting the first distance;
2)  For the next distance add/subtract the constant change of distance (+2pt for a 2pt  increasing increase, or similar) and copy the constant change of distance;
3) For the following distances, until you have them all, insert the constant change of distance after the current value (in this case you get the current value +2pt);
To create the fake blend, you may:
4) Object>Blend>Options set Spacing to Specified Steps with the value 1 and Orientation to Align to Path;
5) Select all objects and Object>Blend>Make, now you have surplus objects in between the desired objects, see 8).
To finish the work, you may:
6) Apply the blend to the (cut) circle;
7) Object>Blend>Expand;
8) Delete the surplus objects.
I hope this was not too easy (to understand).

Similar Messages

  • How would YOU retype these old XM08 types for use in an ABAP OO method?

    The XM08 function group has the following type declarations:
    TYPES: BEGIN OF mmcr_drseg_co.
            INCLUDE STRUCTURE cobl_mrm_d.
    TYPES: cr LIKE drseg_cr    OCCURS 0,
           unpl_refwr TYPE refwr,
           END OF mmcr_drseg_co.
    TYPES: mmcr_tdrseg TYPE mmcr_drseg OCCURS 0,
    TYPES: BEGIN OF mmcr_drseg.
            INCLUDE STRUCTURE drseg.
    TYPES: cr LIKE drseg_cr OCCURS 0,
           co TYPE mmcr_drseg_co OCCURS 0,
           sm LIKE drseg_sm OCCURS 0,
           charact TYPE rbcharact_instance OCCURS 3,
                                           "instances of characteristics
           uebgmat  TYPE matnr,
           uebrblgp TYPE rblgp,
           selkz_db TYPE selkz,
           rblgp_old TYPE rblgp,           "rblgp before aggregation
           END OF mmcr_drseg.
    How would YOU redeclare these types so that they work in an ABAP Objects class?  
    Some of the "fixes" are easy, like replacing "LIKE" with "TYPE:".
    But what about the "INCLUDE STRUCTURE" and the "occurs 0" specifications?
    The reason I'm asking this is that I have to call a method from ZXM08U16 and I'd like to be able to pass this method exactly what XXM08U16 gets from SAP, i.e. the table E_TDRSEG of type  MMCR_TDRSEG

    David,
    I wonder it can be directly in ABAP (I would like to hear opinions from others as well!), I needed to use Data Dictionary as well:
    TYPES: BEGIN OF mmcr_drseg_co.
            INCLUDE STRUCTURE cobl_mrm_d.
    TYPES: cr TYPE z_tt_drseg_cr,
           unpl_refwr TYPE refwr,
           END OF mmcr_drseg_co.
    z_tt_drseg_cr is a table type created in SE11, based on structure drseg_cr.
    the way to create internal table and work area, based on the above:
    DATA : gt_... TYPE TABLE OF mmcr_drseg_co.
    DATA : gw_... TYPE mmcr_drseg_co.
    hope this helps some
    ec
    UPDATE : Rich is right, it is possible to do it only in ABAP with the DEFAULT KEY addition.

  • How would you go about limiting file upload

    I don't need source code, just want to know if it's possible or how to go about limiting how many files a user can upload.
    So far
    I can limit what types of files get uploaded.
    I can limit how big those files can be.
    Is it possible, or how would you go about limiting how many files get sent?
    - When the user does a browse they can select multiple files.

    This is the best that I can come up with.
    Ripped from adobe cookbooks
    var fileList:Array = fileReferenceList.fileList;
    if( fileList.length > 4 )
        Alert.show("Too many files" , "Please try again with 4 or less files");
    else
       for (var i:Number=0; i<fileList.length; i++)
           var file:FileReference = FileReference(fileList[i]);
           arrayCollection.addItem({name:file.name, size:file.size, object:file})
    If this post was helpful , please mark it as such.

  • How do you retrieve a Collection of objects using JDBC?

    How do you retrieve a Collection of objects using JDBC.
    MORE INFO:
    I have created a class i.e. Account class and I want to retrieve all the accounts previously created for accounts in my Mysql database..
    my method would retrieve an array of Account instances in the database i.e.
    public Vector retrieveAccounts();

    Connection con = null;
    ArrayList accounts = new ArrayList();
    try{
      con = DriverManager.getConnection(...);
      PreparedStatement ps = con.prepareStatement("select * from accounts");
      Resultset rs = ps.executeQuery();
      while (rs.next()) {
        Account account = new Account(rs.getString(1), rs.getString(2), ...);
        accounts.add(account);
      Account[] account_array = new Account[accounts.size()];
      accounts.toArray(account_array);
    catch (SQLException sqle) {
       sqle.printStackTrace();
    finally {
      if (con != null) {
        con.close();
    }should pretty much to what you want, you will obviously need to change it so that, a) the SQL query is correct and b) the Account class is correct and c) the correct values are taken from the result set to create an account.

  • Advice - how would you do this?

    I have a compound path (an inner rectangle and an outer one) in an opacity mask. I have to apply an b/w gradient from the outer to the inner ractangle.
    I can only find a feature to add circular an linear gradients!
    How would you do this?

    haemse,
    Transitions like this are made with Blends; Object>Blend>Options to ensure the options you want, then Object>Blend>Make.
    In this case you may:
    1) Object>Compound Path>Release;
    2) For each rectangle, set Stroke to the Fill Color and set Fill to None;
    3) Select both and Object>Blend>Make (keep it Smooth).
    In other words replace the Compound Path with a Blend.

  • How would you implement equals ()

    For complex classes with many data members, my dilema is:
    1. equals should return true only if all fields of the two objects are
    equals.
    2. equals should return true if the key(s) of the two objets are equal.
    For instance, we have the Class Person, that contains dozens of
    data: ID, name, age, job, salary, children, more 1000 items.
    Person is like a record in a DB table. There can not be two persons
    with the same ID.
    In this case, how would you implement equals, and why?
    thanks

    What I'm trying to say is: what is equality foryou?
    Two objects are equal if all there contents areequals
    or is it enough
    to compare their keys?
    In the latter case, there can happen, by somereason,
    that we can end
    up with two objects with the same keys, but all the
    rest of
    the contents different.i think you meant to say that:
    In the latter case, there can happen, by somereason,
    that we can end
    up with two objects with different keys, but
    all the rest of the contents the same.and the answer is, and listen carefully, it totally
    depends on the application you are writing. there
    is no hard definition of equality where custom classes
    are concerned... that is the answer.If this question arises, you should revisit your design.
    If two entities have equal keys, they should be considered to be equal. Otherwise the attributes you call keys are in the fact normal attributes and no keys.

  • How would you code a 3D transform within an mxml?

    How would you code a group of individual text objects, which
    as an associated group, would scroll like the proverbial opening
    Star Wars story description?
    Thanks,
    Pete

    How would you code a group of individual text objects, which
    as an associated group, would scroll like the proverbial opening
    Star Wars story description?
    Thanks,
    Pete

  • How would you optimize the dimensions?

    How would you optimize the dimensions?

    HI Vsu,
    The basic way of optmizing the Dimensions would be to have similar kind of objects into that dimensions. For example having the Customer related infoobjects into the customer dimension will obviously help in optimized data retrieval performance.
    There could be some scenarious where U can optimize the Dimension by dividing the Dimension Data into Line Item Dimension. By this way U would divide the load of data onto the Dimension and the cube, hence again optimizing the performance.
    Hope this helps U. U can be graceful by assinging points.
    Regards,
    Syed.

  • In Security, clicking on the "Saved Password" button displays your current saved password for each site. It does not allow you to change a password. How would you do that?

    In Security, clicking on the "Saved Password" button displays your current saved password for each site. It only allows you to view and delete site passwords. It does not allow you to change a password. How would you do that?

    If you enter a new password Firefox should offer to change the password.
    *You may not need to delete the old password. Try "Refreshing" the page, entering the site again, you may need to let Firefox fill in the old password, then enter the new password, and Firefox should ask to save the new password. See:
    **http://kb.mozillazine.org/Deleting_autocomplete_entries
    *If you delete the old password, you may need to "Refresh" the site after deleting the old password.
    If you want to delete the password that has been saved do the following:
    #In the Tools menu select Options to open the options window
    #Go to the Security panel
    #Click the "Saved Passwords" button to open the passwords manager
    #Select the site in the list, then click Remove
    <br />
    <br />
    '''You need to update the following.''' The Plugin version(s) shown below was/were submitted with your question and is/are out of date. You should update to avoid known security issues with the version(s) you have installed. Click on "More system info..." to the right of your question to see what was included with your question.
    *Adobe PDF Plug-In For Firefox and Netscape 8.3.0 (''Note: this is a very old version and installing the current version may not delete it or overwrite it. To avoid possible problems with having 2 versions installed on your system, you may want to remove the old version in Windows Control Panel > Add or Remove Programs before installing the new version'').
    *Shockwave Flash 10.3 r181 (''this may be current but a new version was released on 2011-06-14 with a ".26" after the "181". You can use the Plugin Check below and/or look in Add-ons > Plugins for the version of Shockwave Flash that you have installed. The newest version will be shown in Add-ons > Plugins as "Shockwave Flash 10.3.181.26"'').
    *Next Generation Java Plug-in 1.6.0_24 for Mozilla browsers
    #'''''Check your plugin versions''''' on either of the following links':
    #*http://www.mozilla.com/en-US/plugincheck/
    #*https://www-trunk.stage.mozilla.com/en-US/plugincheck/
    #*'''Note: plugin check page does not have information on all plugin versions'''
    #*There are plugin specific testing links available from this page:
    #**http://kb.mozillazine.org/Testing_plugins
    #'''Update Adobe Reader (PDF plugin):'''
    #*From within your existing Adobe Reader ('''<u>if you have it already installed</u>'''):
    #**Open the Adobe Reader program from your Programs list
    #**Click Help > Check for Updates
    #**Follow the prompts for updating
    #**If this method works for you, skip the "Download complete installer" section below and proceed to "After the installation" below
    #*Download complete installer ('''if you do <u>NOT</u> have Adobe Reader installed'''):
    #**SAVE the installer to your hard drive (save to your Desktop so that you can find it after the download). Exit/Close Firefox. Run the installer you just downloaded.
    #**Use either of the links below:
    #***https://support.mozilla.com/en-US/kb/Using+the+Adobe+Reader+plugin+with+Firefox ''(click on "Installing and updating Adobe Reader")''
    #***''<u>Also see Download link</u>''': http://get.adobe.com/reader/otherversions/
    #*After the installation, start Firefox and check your version again.
    #'''Update the [[Managing the Flash plugin|Flash]] plugin''' to the latest version.
    #*Download and SAVE to your Desktop so you can find the installer later
    #*If you do not have the current version, click on the "Player Download Center" link on the "'''Download and information'''" or "'''Download Manual installers'''" below
    #*After download is complete, exit Firefox
    #*Click on the installer you just downloaded and install
    #**Windows 7 and Vista: may need to right-click the installer and choose "Run as Administrator"
    #*Start Firefox and check your version again or test the installation by going back to the download link below
    #*'''Download and information''': http://www.adobe.com/software/flash/about/
    #**Use Firefox to go to the above site to update the Firefox plugin (will also install plugin for most other browsers; except IE)
    #**Use IE to go to the above site to update the IE ActiveX
    #*'''Download Manual installers'''.
    #**http://kb2.adobe.com/cps/191/tn_19166.html#main_ManualInstaller
    #**Note separate links for:
    #***Plugin for Firefox and most other browsers
    #***ActiveX for IE
    #'''Update the [[Java]] plugin''' to the latest version.
    #*Download site: http://www.oracle.com/technetwork/java/javase/downloads/index.html (Java Platform: Download JRE)
    #**'''''Be sure to <u>un-check the Yahoo Toolbar</u> option during the install if you do not want it installed.
    #*Also see "Manual Update" in this article to update from the Java Control Panel in Windows Control Panel: http://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox#Updates
    #* Removing old versions (if needed): http://www.java.com/en/download/faq/remove_olderversions.xml
    #* Remove multiple Java Console extensions (if needed): http://kb.mozillazine.org/Firefox_:_FAQs_:_Install_Java#Multiple_Java_Console_extensions
    #*Java Test: http://www.java.com/en/download/help/testvm.xml

  • Disable the pop-up message box "How would you like to open this file" to open pdf file??

    Hi,
    is there any way i can stop the pop-up box displaying to open pdf file in sharepoint document library? Right now whenever i am trying to open pdf file, asking "how would you like to open"  Read only or edit mode. currently MIME Type is setup
    but still pop-up message box.
    Thanks in advanced!

    Hi ,
    As far as I know, This is a default feature. and is not recommended to delete or deactivate this pop up. 
    This is a feature of office and there is a dll called owssupp.dll which is responsible for getting the popup to open.
    You can go to IE tools> addon settings and deactivate the above dll (sharepoint open document class). But if you do so, then the other office office files which are word/excel/pptx etc.. would aslo gets affected and they also wont get the popup.
    Hope this helps.
    Best Regards, Ashok Yadala

  • How would you write a "wildcard" in a filefilter?

    How would you go about to have a wildcard instead of the "*" in the following filefilter;
              File[] files = new File("./resultat/resultat_" + "*" + "_" + index[0]).listFiles (new FileFilter () {
                    public boolean accept (File file) {
                        return ! file.isDirectory ();
              });All help appriciated
    - Karl XII

    Shouldn't "a*" accept all files that begins with "a" and ends with whatever?No. "*" in regexp is a not a wildcard match. Instead it matches one or more instances of the preceeding
    value.
    Therefore "a*" will match "a", "aa", "aaa", "aaaa" etc but will not match anything which does not end in
    an "a".
    The following might help you out. (not the most elegent expression but it will do
    import java.util.regex.*;
    public class RegExp{
      public static void main(String[] args) {
      Pattern p = Pattern.compile("a*b");     
      Matcher m = p.matcher("aaaab");     
      System.out.println(m.matches());                    
      // interesting bit here
      // match one or more occurances of any characters in the ASCII charset  (the \\p{ASCII}* bit   
      p = Pattern.compile("hello_\\p{ASCII}*_b");     
      m = p.matcher("hello_wibble_b");     
      System.out.println(m.matches());
    }

  • How would you pass more than 255 args?

    I have an SFTP program that currently is only passed a single file. I am modifying it so that it will loop though an array of files to simulate an mput command. Originally I was just going to call the program with each file to be transferred as an argument but noticed the 255 argument limit. I am looking at potentially having 1500 - 2000 files to transfer at one time. I am just looking for advice on how this should be designed. One idea that was forwarded to me was to just create a listing of the files on the server and use that list file as my argument. Would this be the best approach for this issue?

    sdhalepaska wrote:
    georgemc wrote:
    sdhalepaska wrote:
    georgemc wrote:
    sdhalepaska wrote:
    georgemc wrote:
    I see no reason why you need an argument for every file.I would not necessarily need one for every file. Prior to our needing to use this for multiple files, it was easy enough to pass in one file as an argument. That is my question, how would you try to pass in a long list of files?Let's establish what you are concerned about. The 255 argument limit is on method signatures. From what you're saying here, you're talking about arguments being passed into your application from, say, the shell. Am I right?Correct, please see my clarified post. From what I have tested, the 255 argument limit appears to exist even for arguments passed to main.Ah, but arguments passed to main from the command line are passed into main as a single array of Strings, no matter how many of them there are. I have no idea what the limit on those is, but an array can hold millions of elements. I expect your shell will moan about that many, though.
    As I see it, you have a few choices. Unless these files are all in different, arbitrary directories, you can specify a list of directories for your app to search. Or you can pass them all in one at a time, and see how you go. Or you can list them in a text file, pass that to your app and have it work them out. Or write a script that invokes your app multiple times. What you don't need, is a method that takes each file as an argument.Thank you for walking me through this. Would you mind telling me which way you would lean if you were designing this? The files will all be in a single directory on the server and I would not like to invoke the app multiple times as it creates a connection during each invocation. They're all in the single directory. Ok, are all the files in that directory to be transferred? If so, I'd just pass the directory name to the app, and have it iterate over all the files. If it's only to be certain ones, how do you know which ones? Is there some regex or filtering you can do on the command line?
    If you are interested, the 255 argument limit for main that I tested was from this article:
    [http://www.javaspecialists.eu/archive/Issue059.html|http://www.javaspecialists.eu/archive/Issue059.html]
    It does die at 255 using Java 1.5.Like I said, arguments to a method are thus limited. But the args passed to an app are passed to main as one argument - an array. In short, that article is not relevant to your problem.

  • How would you go about saving an online image locally?

    Say if you knew the url such as http://www.yahoo.com/img.jpg
    How would you save this locally?

    Read the answer in your previous posting:
    http://forum.java.sun.com/thread.jspa?threadID=772451
    Use the file as an InputStream to read the data and then use an OutputStream to write the file.
    The logic is the same as reading and writing a file from disk once you have the InputStream.

  • How would you split a 10 GB root partition? Would you?

    The system seems to be booting a little slow lately (been using Arch for more than a year now) and I was thinking of splitting the root partition to improve performance.
    Right now the entire OS is on a single partition. I don't have a /home partition but I can see it's usefulness:
    - files on /home are, in general, more frequently written (browser cache especially), which means less fragmentation for the root partition
    - having a noexec flag for /home so no potentially dangerous software will run from there (and why would you need to run software from /home?)
    - my /var folder takes up 102 MB, 9.706 files in 4.846 folders. Is there a filesystem that will deal well with many small files ? ReiserFS maybe ?
    So how would you split (gigabyte-wise) a 10 GB partition into /, /home and /var ? And would you ? I've been told from the IRC channel that it makes zero sense. At least not for desktop use.
    PS: I'm also switching from i686 to x86_64, so please take that into account as well. For instance I noticed that 64 bit software usually takes up more space than 32 bit.
    Last edited by DSpider (2011-05-29 11:32:04)

    Here is what's happening on my Arch box:
    . 2,1TiB [##########] /mnt
    . 61,0GiB [ ] /home
    5,2GiB [ ] /usr
    . 2,9GiB [ ] /var
    126,0MiB [ ] /opt
    83,1MiB [ ] /lib
    . 14,1MiB [ ] /boot
    10,0MiB [ ] /sbin
    . 7,3MiB [ ] /etc
    5,3MiB [ ] /bin
    . 3,0MiB [ ] /tmp
    192,0kiB [ ] /run
    20,0kiB [ ] /srv
    ! 16,0kiB [ ] /lost+found
    4,0kiB [ ] /dev
    4,0kiB [ ] /lib64
    ! 4,0kiB [ ] /root
    . 0,0 B [ ] /proc
    0,0 B [ ] /sys
    < 0,0 B [ ] /media
    Generated with ncdu.
    I have big stuff installed like a full texlive and libreoffice and I never clean my package cache. This is /var:
    . 2,6GiB [##########] /cache
    . 153,2MiB [ ] /lib
    57,1MiB [ ] /abs
    . 31,3MiB [ ] /log
    7,4MiB [ ] /tmp
    . 592,0kiB [ ] /spool
    . 132,0kiB [ ] /run
    8,0kiB [ ] /lock
    e 4,0kiB [ ] /opt
    e 4,0kiB [ ] /local
    e 4,0kiB [ ] /games
    ! 4,0kiB [ ] /enigma
    4,0kiB [ ] /empty
    @ 0,0 B [ ] mail
    And this is /var/cache
    2,6GiB [##########] /pacman
    10,9MiB [ ] /pkgtools
    3,0MiB [ ] /man
    320,0kiB [ ] /cups
    280,0kiB [ ] /fontconfig
    252,0kiB [ ] /samba
    ! 4,0kiB [ ] /ldconfig
    e 4,0kiB [ ] /hald
    /usr
    2,8GiB [##########] /share
    1,7GiB [###### ] /lib
    415,2MiB [# ] /bin
    153,9MiB [ ] /include
    149,8MiB [ ] /lib32
    15,3MiB [ ] /src
    13,7MiB [ ] /sbin
    104,0kiB [ ] /local
    I think I have a very typical desktop here: Mostly web/office stuff and some multimedia.

  • How would you capture the stdout of Runtime.getRuntime().exec())?

    How would you capture the stdout of Runtime.getRuntime().exec())?
    Say you wanted to execute PKZIP25.exe from java using Runtime.getRuntime().exec(). How would you capture the output of PKZIP25 (the console IO) in a file so you could check the results?
    Thanks
    Bill Blalock

    Thanks.
    Could you explain a little more?
    The program I am calling seems to be executing, as far as Java is concerned, but nothing happens. I imagine I have made mistakes in calling it but can't see the output to the console.
    Should I use Runtime.getRuntime().exec() or Runtime.exec() for something like this?
    I appreciate the help!
    Bill B.

Maybe you are looking for

  • Folder missing after transferring data from external hard drive

    Hello. I have a big problem and I hope somebody can help. I transferred 350gb from my SAMSUNG external hard disc to my new Macbook Pro, in order to format it (my external hd) and configure it for Mac as I wasn't able to delete anything off of it, whi

  • URGENT: How to run a Java program from a different directory?

    Hi. How do I run a Java program from a directory that the file is not located in? So lets say im in c:\Java. But the file is in c:\Java\abc\efg\. What would be the command to run the Java file from c:\Java. I can't remember it and I need it asap. Che

  • After keyboard update Aiport is Off

    After I updated to MBP software update 1.1 on every startup my airport is off. When I enable it, it comes off again. Second time it stays on and takes long time to find my wireless network. Very annoying as prior to update I repaired permissions and

  • I need help parsing a  swift data string

    i need to parse swift financial data is there a way to use split or stringtokenizer for :: and keep the :: as part of the new seperated data. i want to put each string starting with :: on a seperate line in a text box. i gave up and tried it with a l

  • A graph in java?

    Hello, I have a file that represent a graph I suppose: nodeA    1111  2222 nodeb    2222  4444 nodec    3333  nodeA noded   nodec nodeaI need for each NodeX to print out all leafs eg: nodea 1111 2222 Noded: 3333 1111 2222 what do you suggest? is it b