cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X

Mathcad Prime 7 Converter Fails with Very Simple Worksheets

vroberts
6-Contributor

Mathcad Prime 7 Converter Fails with Very Simple Worksheets

I downloaded and installed Prime 7.0 and the new converter that is supposed to convert MC15 worksheets to Prime 7.0 worksheets.  The first two MC15 worksheets I converted were claimed to have been converted, but did not work properly in Prime 7.

 

The more complicated one had a plot which uses a format that may not be supported in Prime 7, but the second file is a mystery. It is an extremely basic worksheet, so basic that it could be argued that I'm wasting the power of MC, but the file does use units. After conversion, the Prime 7 worksheet would not work until I removed and replaced at least some of the units and the PI symbol.

 

It seems as if the converter is unable to properly recognize and convert unit symbols and PI. If so, this is a massive fail.

 

Three files are attached. The MC15 file, the Prime 7 file as converted, and the converted Prime 7 file as fixed.

 

If I am making some stupid mistake, please let me know.

1 ACCEPTED SOLUTION

Accepted Solutions


@vroberts wrote:

Werner,

 

Thanks for the file. The Prime 6 converter has the same issue. The units are not properly recognized until I delete one and replace it. Than the other units in that calculation are also recognized and displayed in Blue

 


So it looks that there is nothing wrong with the converter in P7.

I suspect something else:

When you open a Prime sheet, the sheet is not immediately recalculated (as is the case in MC15 and below) but you see the results which were seen the last time the file was saved. This view is stored separately in the mcdx file (its in "result.xml"). When a file is converted the original MC15 file is also stored in the new mcdx file (I don't know what this may be used for - its deleted the first time you save from Prime) but no "previous Prime view" is created. So when you open a converted file the first time, you see the content without any labels applied and so it just looks like the units are not recognized.

 

If the sheet is recalculated, the units should pop up magically 😉

You can recalculate the sheet by pressing F5 or Ctrl-F9.

You also force a recalculation if you change something on top which affects other calculations. And this seems to be the case why you see the correct units when you delete one and retype it.

 

So I guess that at least this time we can't blame or accuse PTC for having introduced a new bug.

When I started testing Prime I was irritated because the automatic recalculation after the load of a worksheet was missing. But this feature enables the stripped down free version Prime Express to open and display worksheets containing premium features, so probably we have to classify this feature a good one.

 

But of course it could be implemented in a better way. Automatic recalculation at startup could be an option to be turned on or off in the settings. The converter could/should be modified to create a "previous view" so the sheet displays with correct labels, etc.

But there are so many things which could and should be improved in Prime ...

 

View solution in original post

33 REPLIES 33

Well, I can see your frustration.

 

Prime did convert the file, and it did recognize the units.  But it failed miserably at the resulting calculations.  Until I erased the units after the results in the converted file.  Then it did the calculation and reported the results, and when I restored the original units it gave the correct result.  (File attached, but you should try it on your converted file.)

 

Prime (AND its converter) are painfully S  L  O  W!

Thanks.

 

When I said that the Converter did not recognize the units, I should have been more precise.

 

The units were there, but not shown in blue, which is the way that Prime enters units, and the results were shown as indeterminate.

 

As soon as I deleted and reentered one of the units, all the units in that calculation turned blue and the results were now determined and correct. 

 

So, as you seem to have confirmed, the converter is no properly converting the units from the MC15 worksheet. 

LucMeekes
23-Emerald III
(To:vroberts)

I think this is, and will remain, an issue with the conversion. The cause is the fact that (real) Mathcad does not know what a unit is and what not. It doesn't flag units as units automatically, let alone assign them their own math style. In (real) Mathcad the predefined units are defined as ordinary variables. So you cannot distinguish a unit from a variable by its math style.Then how would Prime know what m is a unit, and which other m is a variable? And apparently the file conversion to Prime doesn't trigger Prime's autolabelling feature (thankfully, because it does make mistakes). So you will have to go in every converted sheet to trigger it, and then still I think Prime's autolabelling will make mistakes from time to time.

 

Because I disliked some of the predefined/standard unit definitions in (real) Mathcad from the start, I have made a habit of not using the unit system and defining my own unitsin terms of one or more of the constants 1L, 1T, 1M, etc., using one of the math styles for that. Note that in Prime these constants are not user accessible, at least, I haven't found them.

So in my sheets I can use a variable m next to the unit m (just as it is possible in Prime), but I have to change each occurrence of a unit to that unit style by hand. The autolabelling feature of Prime is one of the few Prime features I like. Although it has its flaws, that can become sincere drawbacks, but for the little use I make of Prime, I can live with it.

 

Success!
Luc

 

 

 

vroberts
6-Contributor
(To:LucMeekes)

Luc,

 

Thank you. This is the most reasonable explanation of the problem I have seen, and I agree it may preclude the converter from properly identifying the units in (real) Mathcad worksheets.

 

Since PTC is abandoning MC15 and previous versions, it would be nice if they just placed those versions of the program in the public domain instead of burying it.

LucMeekes
23-Emerald III
(To:vroberts)

I think a lot of time will have passed before they do that.

Considering the superiority of (real) Mathcad over Prime (for the past 10 years and, considering their lack of speed in 'development', the coming 10 years), they would put themselves (Prime) out of business if they gave Mathcad 15, 14, 13, 12, 11 ... and before free...

 

Luc


@vroberts wrote:

Luc,

 

Thank you. This is the most reasonable explanation of the problem I have seen, and I agree it may preclude the converter from properly identifying the units in (real) Mathcad worksheets.

 

Since PTC is abandoning MC15 and previous versions, it would be nice if they just placed those versions of the program in the public domain instead of burying it.


The main reason PTC is abandoning MC15 (and below) is, that those versions (and also Prime up to P6) include MuPad as their engine for doing symbolic calculations. muPad was bought by MathWorks (owers of MatLab) and PTC has to pay licence fees. Therefore they can't put MC15 into public domain even if they would like to do so (and they sure don't feel like doing so anyway).

vroberts
6-Contributor
(To:Werner_E)

Werner,

 

Thanks for the explanation. That answers the question I had of why PTC said they would not be "allowed" so sell MC15 and Prime 1 to 6 after the end of this year.

 

Vic Roberts


@LucMeekes wrote:

I think this is, and will remain, an issue with the conversion. The cause is the fact that (real) Mathcad does not know what a unit is and what not. It doesn't flag units as units automatically, let alone assign them their own math style. In (real) Mathcad the predefined units are defined as ordinary variables. So you cannot distinguish a unit from a variable by its math style.Then how would Prime know what m is a unit, and which other m is a variable?


I tend to disagree. If MC15 is able to interpret the sheet without running into troubles, then the converter should do so, too. And it sure is possible as the converter in Prime 6 (which needs a full installation of MC15) could convert the sheet into a perfectly workable Prime 6 sheet without any troubles. The "algorithm" of doing the job seems quite simple:
1) if the name of a variable in the MC15 sheet is identical to the name of a predefined unit in MC15 AND that variable is undefined so far, it should be considered a unit

2) if a variable in the MC15 sheet is defined and later used in a unit placeholder, it should be considered a unit And yes, I confess that used defined units may require some more thinking than that simple rule #2. But the file in question does not use any user-defined units anyway and should therefore be converted correctly in any case. If the P6 converter (in no way perfect) could do it, the P7 converter must be able to to so, too. If its not able to do, then thats a severe bug.


To me it looks like PTC when they developed the converter for Prime 7 once again did a .... let's call it... PTC-job, as they also did so often in the past. Not much good usually comes from PTC 

vroberts
6-Contributor
(To:Werner_E)

Werner,

 

Thanks again. I have MC15 installed and still have Prime 6 and its converter installed. Perhaps I should use the Prime 6 converter to convert my old MC15 files, and then I should be able to open them in Prime 7.  Or, will the Prime 6 files need to be converted to run under Prime 7?  (I'll test that tomorrow.)

 

Vic Roberts


@vroberts wrote:

Werner,

 

Thanks again. I have MC15 installed and still have Prime 6 and its converter installed. Perhaps I should use the Prime 6 converter to convert my old MC15 files, and then I should be able to open them in Prime 7.  Or, will the Prime 6 files need to be converted to run under Prime 7?  (I'll test that tomorrow.)

 

Vic Roberts


Until now I could not be bothered downloading and installing P7, so I can't test is.

Up to P6 the converted would only work for the latest installed Prime version. So even if you had installed P4, P5 and P6 in parallel and could use any of those versions, you would only be able to convert legacy sheets to P6 format and nothing lower.

It may be that this behaviour has changed with P7 and its built-in converter.

 So even if you had installed P4, P5 and P6 in parallel and could use any of those versions, you would only be able to convert legacy sheets to P6 format and nothing lower.

It may be that this behaviour has changed with P7 and its built-in converter.

 

Prime 7.0 will convert a mathcad 15 sheet into a Prime 7.0 sheet.  It will save a mathcad 15 sheet as a Prime 7.0 sheet.  It will not save backwards--to any earlier version of Prime.  Anyone who thinks it should isn't recognizing the PTC approach to income.  Anyone who thought it might back convert and save to version 15 is on some powerful drugs!

Nobody who has just little experience with PTC did expect them to implement a converter which would be able to save a MC15 sheet to anything else than P7.
The question was if the converter of the still installed P6 would still work and be able to convert a MC15 sheet to P6 format. Up to P6 it was not possible to use the converters of older Prime versions, but as PTC seems to have changed the converters significantly (not to the best, as this thread proves), there was a small chance that the P6 converter still would work even though P7 is installed - after all, hope dies last 😉
Given the last answer of @vroberts  it looks like the behaviour did not change and the P6 converter is not able to convert a MC15 file to P6 format.

vroberts
6-Contributor
(To:Werner_E)

Werner,

 

That may explain why the "Prime 6" converter didn't work either. The system may be using the Prime 7 converter since Prime 7 is installed.


@vroberts wrote:

Werner,

 

That may explain why the "Prime 6" converter didn't work either. The system may be using the Prime 7 converter since Prime 7 is installed.


That was to be feared.

In case you are interested I attach the file converted to P6 format - unopened and unchanged after conversion.

vroberts
6-Contributor
(To:Werner_E)

Werner,

 

Thanks for the file. The Prime 6 converter has the same issue. The units are not properly recognized until I delete one and replace it. Than the other units in that calculation are also recognized and displayed in Blue

 


@vroberts wrote:

Werner,

 

Thanks for the file. The Prime 6 converter has the same issue. The units are not properly recognized until I delete one and replace it. Than the other units in that calculation are also recognized and displayed in Blue

 


So it looks that there is nothing wrong with the converter in P7.

I suspect something else:

When you open a Prime sheet, the sheet is not immediately recalculated (as is the case in MC15 and below) but you see the results which were seen the last time the file was saved. This view is stored separately in the mcdx file (its in "result.xml"). When a file is converted the original MC15 file is also stored in the new mcdx file (I don't know what this may be used for - its deleted the first time you save from Prime) but no "previous Prime view" is created. So when you open a converted file the first time, you see the content without any labels applied and so it just looks like the units are not recognized.

 

If the sheet is recalculated, the units should pop up magically 😉

You can recalculate the sheet by pressing F5 or Ctrl-F9.

You also force a recalculation if you change something on top which affects other calculations. And this seems to be the case why you see the correct units when you delete one and retype it.

 

So I guess that at least this time we can't blame or accuse PTC for having introduced a new bug.

When I started testing Prime I was irritated because the automatic recalculation after the load of a worksheet was missing. But this feature enables the stripped down free version Prime Express to open and display worksheets containing premium features, so probably we have to classify this feature a good one.

 

But of course it could be implemented in a better way. Automatic recalculation at startup could be an option to be turned on or off in the settings. The converter could/should be modified to create a "previous view" so the sheet displays with correct labels, etc.

But there are so many things which could and should be improved in Prime ...

 

vroberts
6-Contributor
(To:Werner_E)

Werner,  recalculation solves the problem. 

 

Thank you!

 

Vic Roberts

MJ-StrEng
6-Contributor
(To:Werner_E)

Here is what I noticed:

M-C 15 is using unit lb (pound) as force; M-C Prime is using lb as mass and lbf as force so after conversion you have to manually delete gravity elements from the result and replace it with lbf  


@MJ-StrEng wrote:

Here is what I noticed:

M-C 15 is using unit lb (pound) as force; M-C Prime is using lb as mass and lbf as force so after conversion you have to manually delete gravity elements from the result and replace it with lbf  


No, MC15 and Prime deal similarly with those units. lb is not a force in MC15

Werner_E_0-1618074610921.png

Werner_E_1-1618074659894.png

 

 

MJ-StrEng
6-Contributor
(To:Werner_E)

For now forget about changing from SI to USCS and write a simple worksheet in MC15

MH_4272560_0-1618078737191.png

Now convert this worksheet into MC Prime and remove plf = lb/ft since you do not need it anymore; plf is built into MC Prime unit system; and watch what happens to value of M 

LucMeekes
23-Emerald III
(To:MJ-StrEng)

I think you should define plf = lbf/ft

Note that (at least in Prime) plf is a force per unit of length, not a mass per unit of length. It might even be predefined in Mathcad 15 as such. Did you check it was defined?

 

Success!
Luc

That behaviour is as it should be.

plf is a predefined unit in MC15 as well as in Prime and of course its defined the same way in both:

Werner_E_2-1618107240054.png

What you are doing is redefining that unit in a different way. Actually in MC15 units are simple variables and so you are defining a variable plf !

After converting you still have your variable plf defined. When you delete it, the "plf" in your definition of W is automatically recognized as the built-in unit and the result change - thats nothing strange or wrong.
The very same thing happens if you delete the definition of your plf in your Mathcad 15 sheet. Give it a try.

 

MJ-StrEng
6-Contributor
(To:Werner_E)

Yes, I tried it, it works the way you described it.

Thanks

HO_2228703
4-Participant
(To:MJ-StrEng)

Read with interest all of the above. It again confirms all my fears. I just bought P7 in the hope that this time they had done it right and because of the looming MC15 switch-off. Boy, was I wrong! Just to give it a try I converted an old MC15 file to P7. My sheets are often graph-heavy and so was this one. To say that the converted graphs were basic is an understatement, it's primitive and useless. Do I really have to put labels in the graph with text boxes? Legends too I suppose? Where is the trace feature?  Can we have a boxed graph please? Where have the grids gone too? I can have a grid I suppose, or can I? Can I hide the expressions under/besides the axes? The list goes on. I have not played with the graphs any further to see what is possible but it will probably take a lot of time to find out that it can actually very little.

 

I have literally hundreds of Mathcad sheets, starting back to the earliest MC versions under Windows. In subsequent versions up to 15 I could always convert my worksheets while maintaining the layouts and graphs still looking the same. Ah, those were the days. If I have to start to make my converted old MC sheets presentable in P7 then that affects productivity in a big and very negative way. My biggest project where I used MC15 for development and documentation consisted of several sheets to a total of 160+ pages. It'll take a while to make the "converted" remnants of the original sheets presentable again. Thinking of it, maybe it is now time to switch to Maple Flow.

 

So, PTC keep MC15 alive. Your disgruntled MC customers will be (mildly) grateful for that.


@HO_2228703 wrote:

<<Legitimate complaints about Prime graphing relative Mathcad 11..15.>>

 

I have literally hundreds of Mathcad sheets, starting back to the earliest MC versions under Windows. In subsequent versions up to 15 I could always convert my worksheets while maintaining the layouts and graphs still looking the same. Ah, those were the days. If I have to start to make my converted old MC sheets presentable in P7 then that affects productivity in a big and very negative way. My biggest project where I used MC15 for development and documentation consisted of several sheets to a total of 160+ pages. It'll take a while to make the "converted" remnants of the original sheets presentable again.


(putting on my best Crocodile Dundee accent)  That's not a problem   Imagine if you'd used the Picture Operator for, say, image processing or other visualization (even animation!).   Now, imagine going through a worksheet exporting every image to a bmp, then inserting an image button into your worksheet and using it to importing your bmp directly into the worksheet (with no link, therefore no auto-update).   Oh, and you want to make a few ripple-through changes to your images.   That's a problem.  😉

 

So, PTC keep MC15 alive. Your disgruntled MC customers will be (mildly) grateful for that.


One of the things that often gets forgotten in the Prime vs M11..15 debate, is that several of us had *huge* lists of feature enhancements that we'd have liked for the original Mathcad, things that, if not already present in the competition, soon would be.   OTOH, I'm not sure who PTC saw as their market for Mathcad and who their competitors were/are.   I've a feeling the answers to those questions might shed some light on why Prime took the path it did.

 

Still, looking at the roll-out plan, Prime seems to be heading in the right direction.   It could do with speeding up, though.

 

Stuart

" Now, imagine going through a worksheet exporting every image to a bmp, then inserting an image button into your worksheet and using it to importing your bmp directly into the worksheet (with no link, therefore no auto-update)."

 

There is a READBMP function in Prime 7.0 that takes a file reference string into a matrix:

Fred_Kohlhepp_0-1632934135577.png

I would think that could give you a work-around the picture (or object) operator.

 

But, I'm outside what I know!

 

 


@Fred_Kohlhepp wrote:

" Now, imagine going through a worksheet exporting every image to a bmp, then inserting an image button into your worksheet and using it to importing your bmp directly into the worksheet (with no link, therefore no auto-update)."

 

There is a READBMP function in Prime 7.0 that takes a file reference string into a matrix:

Fred_Kohlhepp_0-1632934135577.png

I would think that could give you a work-around the picture (or object) operator.

 

But, I'm outside what I know!

 

 


Nope, nowhere near being a workaround, I'm afraid, Fred.  Or, rather, it is, but not a particularly pleasant or practical one for worksheets with a large number of images.

 

The READBMP function does indeed read in an image.   However, I have no means of directly displaying it within Prime, as there is no equivalent of the Picture Operator.   

 

What I have to do is process that image, then save the image as a new .bmp file, then click on the Image on the Math or Document tab.  Mathcad then puts a button on the worksheet where I want it.  I then click on the button, locate the recently written .bmp file in the standard file dialog,  and select the file.   Mathcad then inserts the image *in place of* the button.   There is no link to the picture; it's just an embedded bunch of 0s and 1s.    If I update the image matrix, WRITEBMP will write the changed image out to the previously named file.   However, the image in the worksheet remains steadfastly the same as when I loaded it.   

 

To see the changes, I have to delete the image, then go through the rigmarole of loading in the amended image.   As I said, rinse and repeat for every single image, every time a change is made.  

 

Cheers,

 

Stuart

 

From the Mathcad Prime 7 Help on displaying images.

 

2021 09 29 A.png

An example (from Prime trial) of what this means. I used dog.bmp as a test image for my Multi-Dimensional Array (MDA) library.   In its original M11..M15 forms, I just inserted a Picture Operator (PO), typed the name of the image matrix into the PO's placeholder and that was that.  Any changes were automatically fed through the worksheet POs.  In Prime, as I said, every single changed image needs changing in the worksheet if I want to see it.

 

(On the left are the Prime images.  On the right are the (converted) POs from M15.   There were just over 60 images in that worksheet alone.  If I wanted to see the effects of the processing on a different original image, that's just over 60 times going through the process.

 

2021 09 29 B.png

"Still, looking at the roll-out plan, Prime seems to be heading in the right direction. It could do with speeding up, though."

Well, a plan is just that and we've been waiting for a long time. Interesting remark about lists of enhancements. On several occasions I also sent in proposals for new enhancements. The answer was usually silence and little happened.

I think the main problem is now, that since Mathsoft was taken over in 2006 by PTC, the real engineers are no longer involved. I imagine that at the start of Mathcad in 1986 there were a few practising engineers who saw a need for a product like Mathcad. They knew how engineers tick and work and that was reflected in how it was implemented, despite the flaws. After being taken over by PTC the engineers gradually left and were replaced by software developers guided by managers. The pioneering spirit was gone. The new plans were dreamed up by the upper echelons who then threw it over the wall to the programmers. The distance between implementers and customers became ever larger. Chaos ensued ...  So, as long as they can't come up with decent graphs and MC15 converter I don't need plans of new features and integration with CREO and so on, but proper implementations of features that now hamper the switching from MC15 to Px. It would help to retain customers too.


@HO_2228703 wrote:

"Still, looking at the roll-out plan, Prime seems to be heading in the right direction. It could do with speeding up, though."

Well, a plan is just that and we've been waiting for a long time.


How very true.

 


Interesting remark about lists of enhancements. On several occasions I also sent in proposals for new enhancements. The answer was usually silence and little happened.

Here's a link to a request for feature ides from Lesley Bondaryk, ex-Mathsoft and then PTC, who was knowledgeable about Mathcad, 

 

https://community.ptc.com/t5/PTC-Mathcad/New-Feature-requests/m-p/356434/page/2

 

The list is only partial, and there were a plethora of ideas in the old collab that didn't make it across to the Community.   

 

@ValeryOchkov  has a huge list of feature ideas.

 

Many of us were optimistic that PTC was going to pick up on such requests and produce a SuperMathCad.

 

Bear in mind that Mathsoft had made similar requests in the past, but, as with PTC, I was never very confident anybody was really listening or putting ideas under proper configuration control.    Both Mathsoft and PTC, however, do historically seem to have been very quick to *remove* or restrict features that somebody, somewhere found confusing, and with scant regard for those who actively used them.   I never understood why users weren't educated in their use, or some kind of option wasn't provided to allow users to choose to select/deselect confusing features.    Recursion depth, partial application and the removal of sequences in for-loops, are a few examples that come immediately to mind.

 

Edited to add:  I forgot to mention that PTC does have a Mathcad Ideas forum, albeit restricted to support customers.   And, one of the things that give me the impression things are looking slightly brighter for Mathcad, one of the PTC staff moved one of my idea suggestions from the standard Community to the Ideas Community, even though I'm not a support customer.  I've already touted the idea that perhaps the people not buying annual licences ought to be able to request ideas ... maybe they'd buy Mathcad licences if Mathcad had features they wanted.   I also note, from a quick skim, that a small number of the ideas presented on the link above have been implemented, fully or partially.

 


I think the main problem is now, that since Mathsoft was taken over in 2006 by PTC, the real engineers are no longer involved. I imagine that at the start of Mathcad in 1986 there were a few practising engineers who saw a need for a product like Mathcad. They knew how engineers tick and work and that was reflected in how it was implemented, despite the flaws. After being taken over by PTC the engineers gradually left and were replaced by software developers guided by managers. The pioneering spirit was gone. The new plans were dreamed up by the upper echelons who then threw it over the wall to the programmers. The distance between implementers and customers became ever larger. Chaos ensued ...  So, as long as they can't come up with decent graphs and MC15 converter I don't need plans of new features and integration with CREO and so on, but proper implementations of features that now hamper the switching from MC15 to Px. 

You might think that. I couldn't possibly comment.

 


So, as long as they can't come up with decent graphs and MC15 converter I don't need plans of new features and integration with CREO and so on, but proper implementations of features that now hamper the switching from MC15 to Px. It would help to retain customers too.

The 64 dollar question is, are the customers like you (and me) the ones that PTC want to retain or gain?  How closely does their vision of "Mathcad" align with ours?   Looking back to what you said in your message, I've long got the feeling that Mathcad was seen very much from a conventional, imperative programmer's perspective and not from a functional programmer's or mathematical user's perspective.   

 

As an example, look at the if-elseif-else replacement for if-otherwise.   if-otherwise certainly needed a rework, as it had ambiguities and could be difficult to interpret.  However, it was vertically compact, which its if-elseif-else is not.  Moreover, given that one of the much-touted features of Mathcad is its heavy use of mathematical notation, why did we get a programming notation instead of the standard piecewise brace notation (additional to, yes, but)?  I've yet to see a mathematical paper use if-elseif-else in place of braces ...

 

8BhUD

 

So it may be that much of the frustration some (many) users feel is simply down to Mathcad no longer being what they thought it was.

 

Stuart

 

 

Top Tags