Vector (good for storing) and arrays(good for numerical sums, multiplying)

Hi guys, I am trying to use vectors because I need a variable lenght and store 2D arrays in one coordenate of a vector. That is why I am using vector instead arrays. I can turn the type of variable using "Integer" (instead of "int" as arrays), "Double" (instead of "double") and so on. The problem is that it doesn't allow me to operate, it is very good for storing, but I need to be able to operate, multiplying, sum, etc the elements there are in the coordenates. And I think it is not possible.
What u think about it? I can only store stuff ion a vector, I cannot operate. Besides I cant turn a data from "Double" to "double", I can either use arrays OR vectors, but not both of them at the same time.
You think i am wrong?, because I mean in that case, Java is not very useful to do this numerical problem.
Thanks.
This is only a class of the program I am doing.
import java.util.*;
class SolveDomain {
     int newton_iter = 0, m = 0, work_count = 0;
     double t = 0, dx, dy, dt, start_t=0;
     double[][] v;
Details obDetails = new Details();
     public double[][] solveDomainMethod(Double vAxn, Double vAyn, Double vBxn, Double vByn, Integer nxn, Integer nyn, double dt, Double error1n, Double error2n, double end_tn, int stepsn, Integer kcn, Double u_n[][], Double v_n[][], Double bc1, Double bc2, Double bc3, Double bc4, double u[][]) {       
     double dx2, dy2, err = 1000000;
     v = new double[nxn+1][nyn+1];
     DoublevAxn, Double vAyn, Double vBxn, Double vByn, Integer nxn, Integer nyn, double dt, Double error1n, Double error2n, double end_tn, int stepsn, Integer kcn, double u_n[][], double v_n[][], Double bc1, Double bc2, Double bc3, Double bc4;
double k[][] = new double [nxn+1][nyn+1]; double kp[][] = new double [nxn+1][nyn+1];
double kpp[][] = new double [nxn+1][nyn+1]; double dudx[][] = new double [nxn+1][nyn+1];
double dudy[][] = new double [nxn+1][nyn+1]; double d2udx2[][] = new double [nxn+1][nyn+1];
double d2udy2[][] = new double [nxn+1][nyn+1]; double dudt[][] = new double [nxn+1][nyn+1];
double a[][] = new double [nxn+1][nyn+1]; double b[][] = new double [nxn+1][nyn+1];
double c[][] = new double [nxn+1][nyn+1]; double d[][] = new double [nxn+1][nyn+1];
double F[][] = new double [nxn+1][nyn+1]; double A[][] = new double [nxn+1][nyn+1];
double B[][] = new double [nxn+1][nyn+1]; double C[][] = new double [nxn+1][nyn+1];
double D[][] = new double [nxn+1][nyn+1]; double E[][] = new double [nxn+1][nyn+1];
double s[][] = new double[nxn+1][nyn+1];
          KDerivatives1 obK1 = new KDerivatives1();
          KDerivatives2 obK2 = new KDerivatives2();
UDerivatives obU = new UDerivatives();
          CalcPdeCoefficients obPde = new CalcPdeCoefficients();
          CalcFdCoefficients obFd = new CalcFdCoefficients();
          Gs obGs = new Gs();
dx = obDetails.seg(vBxn, vAxn, nxn);
dy = obDetails.seg(vByn, vAyn, nyn);
dx2 = dx*dx;
dy2 = dy*dy;
if (bc1 != -999999999) obDetails.initialiceBCDomainL(dx, dy, vAxn, vAyn, bc1, u);
if (bc2 != -999999999) obDetails.initialiceBCDomainU(dx, dy, vAxn, vAyn, bc2, u);
if (bc3 != -999999999) obDetails.initialiceBCDomainR(dx, dy, vAxn, vAyn, bc3, u);
if (bc4 != -999999999) obDetails.initialiceBCDomainD(dx, dy, vAxn, vAyn, bc4, u);
obDetails.source(dx, dy, vAxn, vAyn, s);
do {
++ newton_iter;
if (kcn == 1) { 
          obK1.calc_k(u, k);
     obK1.calc_kp(u, kp);
     obK1.calc_kpp(u, kpp);
          } else {
               obK2.calc_k(u, k);
          obK2.calc_kp(u, kp);
          obK2.calc_kpp(u, kpp);
               obU.calc_dudx(u, dx, dudx);
          obU.calc_dudy(u, dy, dudy);
               obU.calc_d2udx2(u, dx2, d2udx2);
               obU.calc_d2udy2(u, dy2, d2udy2);
          obU.calc_dudt(u, u_n, dt, dudt);
          obPde.calcPdeCoefficientsa(k, a);
          obPde.calcPdeCoefficientsb(kp, dudx, b);
          obPde.calcPdeCoefficientsc(kp, dudy, c);
          obPde.calcPdeCoefficientsd(kp, kpp, dudx, dudy, d2udx2, d2udy2, d);
          obPde.calcPdeCoefficientsF(k, kp, dudx, dudy, d2udx2, d2udy2, dudt, s, F);
          obFd.calcFdCoefficientsA(a, b, dx, dx2, A);
          obFd.calcFdCoefficientsB(a, b, dx, dx2, B);
          obFd.calcFdCoefficientsC(a, c, dy, dy2, C);
          obFd.calcFdCoefficientsD(a, c, dy, dy2, D);
          obFd.calcFdCoefficientsE(a, d, dx2, dy2, dt, E);
          obGs.gsMethod(v_n, A, B, C, D, E, F, dt, error2n, v);
          m = m + obGs.iter;
          for (int i=1; i < u.length - 1;i++ ) {
               for (int j=1; j < u[0].length - 1 ;j++ ) {
     u[i][j] = u[i][j] + v[i][j];
err = 0;
          for (int i=0; i < u.length ;i++ ) {
               for (int j=0; j < u[0].length ;j++ ) {
               err = err + Math.pow(v[i][j],2);
          err = Math.sqrt(err);
while (err > error1n);
     return u;           
public double[][] rectangleDomainF (Vector vAxvector, Vector vAyvector, Vector vBxvector, Vector vByvector, Vector nxvector, Vector nyvector, Vector error1vector, Vector error2vector, double end_t, int steps, Vector kcvector, double numberdomains, Vector bc1vector, Vector bc2vector, Vector bc3vector, Vector bc4vector) {
               double u[][] = new double[u.length][u[0].length];
               double dt = obDetails.seg(end_t, start_t, steps);
               Vector uvector = new Vector();
               Vector vvector = new Vector();
     do
++work_count;
          t = work_count * dt;
for (int k = 0; k < numberdomains ; k++) {
     solveDomainMethod((Double)vAxvector.elementAt(k), (Double)vAyvector.elementAt(k), (Double)vBxvector.elementAt(k), (Double)vByvector.elementAt(k), (Integer)nxvector.elementAt(k), (Integer)nyvector.elementAt(k), dt, (Double)error1vector.elementAt(k), (Double)error2vector.elementAt(k), end_t, steps, (Integer)kcvector.elementAt(k), (Double [][]) uvector.elementAt(k), (Double [][]) vvector.elementAt(k), (Double)bc1vector.elementAt(k), (Double)bc2vector.elementAt(k), (Double)bc3vector.elementAt(k), (Double)bc4vector.elementAt(k), u);
                                                       uvector.insertElementAt(u, k);
          vvector.insertElementAt(v, k);
while (t < end_t);
return u;

The only way to, for instance, multiply a Double object by another Double object is to convert them back to primitives, multiply them, and create a new Double instance:
public Double multiply(Double lhs, Double rhs) {
   return new Double( lhs.doubleValue() * rhs.doubleValue() );
}This is just an overhead that you have to accept if you want to use collections with primitive type data.
Coming soon in 1.5 (which is in Beta now and available for download in the usual places) a new feature called auto-boxing will do a lot of this automatically for you. You need to be aware that it's doing exactly the same operations with the same performance overhead; but it does save a lot of typing.
Thus in 1.5 the above becomes:
public Double multiply(Double lhs, Double rhs) {
   // Under the hood this is IDENTICAL to the above example
   return lhs * rhs;
}Now, addressing your post directly:
Besides I cant turn a data from "Double" to "double"
Yes you can, as in the first example, the doubleValue() method converts a Double object to a double primitive.
Java is not very useful to do this numerical problem.
If you need math performance, you need to use primitives, yes. Yes, that will preclude the use of collections.
Dave.

Similar Messages

  • HT1386 I have just purchased an ipad3 mainly for storing and viewing my photos but I cannot get my photos to sinc from itunes. Does anyone have the solution.

    I have just purchased an ipad3 mainly for storing and viewing my photos but I cannot get my photos to sync using itunes. Does anyone have the best solution please?

    See http://support.apple.com/kb/HT4236
    Another way. You can use a USB flash drive & the camera connection kit.
    Plug the USB flash drive into your computer & create a new folder titled DCIM. Then put your movie/photo files into the folder. The files must have a filename with exactly 8 characters long (no spaces) plus the file extension (i.e., my-movie.mov; DSCN0164.jpg).
    Now plug the flash drive into the iPad using the camera connection kit. Open the Photos app, the movie/photo files should appear & you can import. (You can not export using the camera connection kit.)
    Secrets of the iPad Camera Connection Kit
    http://howto.cnet.com/8301-11310_39-57401068-285/secrets-of-the-ipad-camera-conn ection-kit/
    This may interest you.
    Expand your iPad's storage capacity with HyperDrive
    http://www.macworld.com/article/1153935/hyperdrive.html
    On the road with a camera, an iPad, and a Hyperdrive
    http://www.macworld.com/article/1160231/ipadhyperdrive.html
    Since you are new to iPad.....
    You can download a complete iPad User Guide here: http://manuals.info.apple.com/en/ipad_user_guide.pdf
    Also, Good Instructions http://www.tcgeeks.com/how-to-use-ipad-2/
    Apple - iPad - Guided Tours
    http://www.apple.com/ipad/videos/
    Watch the videos see all the amazing iPad apps in action. Learn how to use FaceTime, Mail, Safari, Videos, Maps, iBooks, App Store, and more.
    How to - Articles & User Guides & Tutorials
    http://www.iphone-mac.com/index.php/Index/howto/id/4/type/select
    iPad How-Tos  http://ipod.about.com/lr/ipad_how-tos/903396/1/
    You can download this guide to your iPad.
    iPad User Guide for iOS 5
    http://itunes.apple.com/us/book/ipad-user-guide-for-ios-5/id470308101?mt=11
     Cheers, Tom

  • Search Criteria - Product ID not  working for numeric Internal Goods/Servic

    Hi All,
    I was searching Internal Goods/Services via Product ID. In the search criteria for Product ID we have given 1* as search criteria and it seach all alphanumeris Internal Goods/Services but not able to give search results for numeric Internal Goods/Services.
    Do we need to apply any correction note?
    Best Regards
    Lovkesh

    Hi
    <u>Try the following OSS notes</u>
    <b>Note 707781 - Product search does not find all documents
    Note 871627 - Incorrect formatting of product ID in Shop transaction
    Note 788339 - Performance problems during call of search help for products
    Note 803414 - Shop: Search for an invalid product returns all entries
    Note 1034811 - Search in product ID if altrntive ID does not return results
    Note 1004975 - SRM@ERP: Dump CX_SY_ASSIGN_CAST_UNKNOWN_TYPE in COMMPR01
    Note 483896 Product search - same product ID from several backends
    Note 419581 EBP-SHP: Product search by logical system</b>
    <u><b>Incase nothing works, better to get back to SAP.</b></u>
    Hope this will help.
    Please reward suitable points, incase it suits your requirements.
    Regards
    - Atul

  • Exporting Flash vector art for print

    I would like to export art created in Flash as a vector
    format for print. Exporting as either AI or EPS from Flash seems to
    have many limitations: no support for masks, alpha transparency, or
    editable text with fonts embedded. Has anyone found a workflow to
    create print-ready vector art using Flash?
    I have tried many combinations of Flash, Freehand, and
    Illustrator with no success. (Freehand will open SWF files, but it
    rasterizes the vector art when exporting as either EPS or PDF).
    Working in Flash Pro 8, but from the Flash CS3 documentation
    it doesn't look like there are additional options for file export.
    Is it true that any vector art exported from Flash loses font info,
    masking, and transparency?

    Has anyone found a good solution for this? I need to export character art from Flash to use for print and consumer product items. Qualtity vectors are required.
    The "best" solution I've found so far is to "Print" as either a .PDF or .PS file, then open that file in Illustrator. It expands all the gradients, and creates very complex vectors, but it's better than the standard export to .AI function, which gives offending operator "bg" errors. Still, it is a sub-par result, and I end up having to recreate art anyway.
    (I'm using Flash CS4.)
    Dear Adobe, this should be a no-brainer ... Please introduce a true vector export feature from Flash to Illustrator that generates art we can actually use.

  • Newbie question about using vectors and arrays

    I'm fairly new to JME development and java in general. I need some help in regards to Vectors and 1 dimensional arrays. I'm developing a blackberry midlet and am saving the queried info i pull back from my server side application with each record saved into the array and subsequently each array saved as an element in the vector, thereby creating a 2D "array".
    However I'm having a problem accessing the elements in the array. Here is a sample of what I mean and where I get stuck:
    Vector _dataTable = new Vector(1, 1);
    String[] r1 = {"a", "b", "c", "d"};
    String[] r2 = {"1", "2", "3", "4"};
    _dataTable.addElement(r1);
    _dataTable.addElement(r2);
    Object temp = _dataTable.elementAt(0); //Save the element as an new object for useNow how do I access the particular indexes of the element of the temp object? Do i need to caste it to an array? Is there another more efficient/easier way I should be storing my data? Any help would be great!
    Edited by: Sotnem2k1 on Apr 1, 2008 7:50 AM
    Edited by: Sotnem2k1 on Apr 1, 2008 7:51 AM

    Thanks for the feedback newark. I have this scenario below:
    // Class for my 1D array
    public class OneRecord {
        private String[] elementData = new String[4];
        public OneRecord() {   
            elementData[0] = null;
            elementData[1] = null;
            elementData[2] = null;
            elementData[3] = null;
        public OneRecord(String v1, String v2, String v3, String v4) {   
            elementData[0] = v1;
            elementData[1] = v2;
            elementData[2] = v3;
            elementData[3] = v4;
        public void setElement(int index, String Data) {
            elementData[index] = Data;
        public String getElement(int index) {
            return elementData[index];
    } Then in my main app I have:
    Vector _dataTable = new Vector(1, 1);
    OneRecord currRecord = new OneRecord("a", "b", "c", "d");
    _dataTable.addElement(currRecord);
    OneRecord temp = (OneRecord)_dataTable.elementAt(1);
    System.out.println(temp.getElement(0)); Are there more efficient data structures out there to save queried data from a server side app? Like I said, i'm still trying to learn the most efficient techniques of coding...esp for the Blackberry. Any suggestions would be great!

  • Storing an array of checkbox booleans into preferences and retrieving them

    Just wondering how to go about storing an array of JCheckBoxes into a preference and retrieving it. There's 32 checkboxes so if they select, say, 6 of these randomly it should store it in a preference file and retrieve it when the application is loaded so that the same 6 checkboxes remain selected. I'm currently getting a stack overflow error, though.
    import java.util.prefs.*;
    public class Prefs {
         Preferences p;
         GUI g = new GUI();
         public Prefs() {
              p = Preferences.userNodeForPackage(getClass());
              g = new GUI();
         public void storePrefs() {
              for (int i = 0; i < g.symptoms.length; i++) {
                   p.putBoolean("symptoms", g.symptoms.isSelected());
         public void retrievePrefs() {
              for (int t = 0; t < g.symptoms.length; t++) {
                   p.getBoolean("symptoms", g.symptoms[t].isSelected());
    symptoms is the array of checkboxes in the GUI class. Not sure where I am going wrong here. I can do it with strings from textfields etc but this is proving to be an annoyance. :(
    Thanks in advance                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Actually, I have a better example, see below
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    import java.util.prefs.*;
    public class PreferencesTest {
        private Preferences prefs;
        public static final String PREF_OPTION = "SELECTED_MENU_ITEM";
        public void createGui() {
            prefs = Preferences.userNodeForPackage(this.getClass());
            JMenuItem exitAndCloseMenuItem = new JMenuItem("Exit");
            exitAndCloseMenuItem.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
            JMenu fileMenu = new JMenu("File");
            fileMenu.add(exitAndCloseMenuItem);
            JCheckBoxMenuItem[] preferenceItems = {
                new JCheckBoxMenuItem("pref 1"),
                new JCheckBoxMenuItem("pref 2"),
                new JCheckBoxMenuItem("pref 3"),
                new JCheckBoxMenuItem("pref 4")};
            int selectedMenuItem = prefs.getInt(PREF_OPTION, 0);
            preferenceItems[selectedMenuItem].setSelected(true);
            ButtonGroup preferencesGroup = new ButtonGroup();
            JMenu preferenceMenu = new JMenu("Preferences");
            for(int i = 0;i<preferenceItems.length;i++){
                preferenceItems.setActionCommand(Integer.toString(i));
    preferenceItems[i].addActionListener(new menuItemActionListener());
    preferencesGroup.add(preferenceItems[i]);
    preferenceMenu.add(preferenceItems[i]);
    JMenuBar menuBar = new JMenuBar();
    menuBar.add(fileMenu);
    menuBar.add(preferenceMenu);
    JFrame f = new JFrame("Prefernce Test");
    f.setJMenuBar(menuBar);
    f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setVisible(true);
    public static void main(String[] args){
    new PreferencesTest().createGui();
    class menuItemActionListener implements ActionListener{
    public void actionPerformed(ActionEvent e) {
    JCheckBoxMenuItem jcbm = (JCheckBoxMenuItem)e.getSource();
    prefs.put(PREF_OPTION, jcbm.getActionCommand());

  • Challeging Traversal of Vector and Array

    Hi there ! I would like to render the values of this Vector and Array . How do I print it out to the browser ?
    try
    ResultSet rset = stmt.executeQuery(myQuery);
    System.out.println(" Finish Execute Query !!! ");
    /* Array Contruction */
    int numColumns = rset.getMetaData().getColumnCount();
    while (rset.next())
    aRow = new String[numColumns];
    for (int i=0; i < numColumns; i++){
    aRow[i] = rset.getString(i+1);
    allRows.addElement(aRow);
    return allRows;
    }

    Hi there !
    Thanks for your help but I managed to get it working. For references purposes, I`ll post it here.
    My problem now is this :-
    How can I issue another SQL statement and store the results in the same array?
    Pls note . One Sql per table so, that`s the issue ?
    Can someone help with a followup code ?
    try
    ResultSet rset = stmt.executeQuery(myQuery);
    System.out.println(" Finish Execute Query !!! ");
    /* Array Contruction */
    int numColumns = rset.getMetaData().getColumnCount();
    while(rset.next())
    // for every record instance aRow
    aRow = new String[numColumns];
    // store in aRow the values of the record
    for(int i=0;i<numColumns;i++)
    aRow[i] = rset.getString(i+1);
    //When aRow is full store it in the vector
    allRows.addElement(aRow);
    // when the rset finished print all the Vector
    for(int i=0;i<allRows.size();i++)
    // get returns a String[]
    String[] tmpRow = (String[])allRows.get(i);
    for(int j=0;j<tmpRow.length;j++)
    out.print(tmpRow[j]+" ");
    out.println("");
    }

  • ORA-06509: PL/SQL: ICD vector missing for this package

    Hi,
    While taking the Export i am getting the following Error
    ORA-06509: PL/SQL: ICD vector missing for this package
    we are using Oracle 10g Rel 2 on Server 2000 OS,
    how to fix this problem
    thanks in Advance...
    -M
    Edited by: RUH on Jan 6, 2009 8:44 AM
    Edited by: IND on Jan 10, 2009 3:19 PM

    hi
    thanks for the Reply,
    we are using oracle 1002000100 , No patches are applied so far,
    USING EXP commonad but not the Datapump
    EXP xng/xng@xrpt172 file=d:\bk_xng_ul.dmp owner=xng direct=y log=d:\bk_xng_ul.log
    then export is terminated Successfull with warning and the Error ORA-06509: PL/SQL: ICD vector missing for this package is giving
    many thanks
    -m

  • Vector files for a plotter - solutions to truly delete hidden areas?

    Hi - I am using Illustrator to create vector files for a plotter. The preview/appearance of the file doesn't matter, only the "outline" view. Whatever I see in Outline is what will be cut/drawn. This becomes an issue with areas like expanded patterns, compound paths, etc. where hidden areas/paths still show up in Outline. Is there a workaround for this? For example, can I fill a complex shape with a line pattern, expand it, and have the pattern paths truly be cut off at the edges of the shape?

    If you mean, selecting the hidden paths in Outline view and deleting/erasing; yes, that is workable in some circumstances. Mostly with flat shapes. Where that gets more complicated is where there are a lot of overlapping paths making up a form. I suppose using layers and the scissors tool to sever paths (in Outline view) this might be my best bet. Seems like I will need to add anchor points, too, to keep ellipses (for example) the right shape. It will be time-consuming, especially because I am new to AI, but at least it will work!
    Thanks!

  • Where can I find vector frames for official letters?

    I would like to create an official letter/invitation, and to to have a nice frame to it. Here are some examples:
    Is there a place I could download such frames in a vector format for free?
    Thank you
    Tom

    Don't waste your time looking for free templates. You have one of the most creative pieces of software just waiting to be used.
    Draw a square and subtract circles out of the corner for the border. You can then draw some ornaments, or if you are not up for that look into the font woodtype ornament that comes with Illustrator, or load some brush libraries Brushes palette >> open Library.

  • Any chance you guys are working on vector support for the next update?

    Any chance you guys are working on vector support for the next update? It would definitely make working with these retina displays much easier.

    While waiting, there's this manual solution i proposed here : http://fr32c.free.fr/Am/index.php?post/2013/09/12/Muse-Inline-SVG but you'll have to translate the article. At the bottom are some files to test.
    And i demoed it : http://fr32c.free.fr/Muse/Muse+inlineSVG/

  • Vector art for bike chain ring

    Scouring the internet i've been unable to find existing free vector art or a tutorial on how to create a bicycle chain ring. There is plenty of links to drawing cogs but the bike chain ring has a rounded tooth which I haven't been able to figure out how to create. Would appreciate any links to tutorials or existing vector art for a bicycle chain ring. Thanks.

    Draw one of the gear paces with two halves of the projections.
    then Use the Effect>Distort and Transform>Transform to make it a ring.

  • Feature request - Vector export for all CC customers (free or paid)

    Hi.
    This is a fantastic tool, that can replace or add really much to the field already covered by Adobe Ideas. It just need to do all the job as Ideas do: export a professional and useable vector file.
    I understand the need of prospecting more customers to the CC service, but it can be done in several other ways. As a professional illustrator, and a huge user of the iPad as a creative tool, not always I need to rely on Adobe Illustrator to finish any job (when I need of it, is just for type work, and I am already using a CS6 version for it, with no intentions - read $$$ - to change for CC by now). My suggestions are:
    a. the addition of this simple export feature (maybe even by e-mail as Ideas do), for free - it would be really kind of Adobe's part ;
    b. not being possible this feature addition for free, make it a paid app, but complete in terms of export options;
    c. or include the vector export feature as an in-app purchase (in both cases I would be paying for it without thinking twice, and I'm sure many other people too).
    That's it. I hope this little - but EXTREMELLY IMPORTANT - request could be implemented as soon as possible in a future update.

    Adobe is the worst tech company on the planet as far as treating their customers well. I've unfortunately been using their products since Illustrator88 as they've been industry standard. I've paid exorbitant amounts to keep the Adobe upgrade extortion ring going. And now, they'd suggest we "upgrade" to IllustratorDraw from AdobeIdeas, crippling the best feature the app has–the ability to export vector art for refining elsewhere. This has actually become a part of my workflow so I'm not giving up Ideas any time soon. As much as I like the new features of Illustrator Draw, they are USELESS (Hear that Adobe?) without the ability to export vector art.
    Thanks for another collective poke in the eye, Adobe. If there's any justice, the $50 AffinityDesigner app will unseat you as emperor soon. Affinity Designer - Vector art & design

  • I am making a complex vector pattern for laser-cutting. No part may be more than 7mm wide at any point. How can I define this in order to get a warning when a shape is too wide? can this be automated?

    I am making a complex vector pattern for laser-cutting. No part may be more than 7mm wide at any point. How can I define this in order to get a warning when a shape is too wide?
    can this be automated?

    Not in Illustrator. You will need a CAD program or similar where you can dial in such manufacturing criteria.
    Mylenium

  • I am making a complex vector pattern for laser-cutting. No part may be more than 7mm wide at any point. How can I define this in order to get a warning when a shape is too wide?

    I am making a complex vector pattern for laser-cutting. No part may be more than 7mm wide at any point. How can I define this in order to get a warning when a shape is too wide?
    can this be automated?

    do you mean Anchor Point to Anchor Point should be less than 7mm? A Script could check segment lengths, on demand, not automatically as you draw.

Maybe you are looking for