LPub3D 1.3.0 Released !


LPub3D 1.3.0 Released !
#1
Greetings,

Just in time for the new year ! Lots of enhancements in this version.

I had some difficulty with adding multiple search directories (essentially allowing for any number of Ldraw libraries) which took me longer than I anticipated. In fact, I had to write an enhancement for ldglite - not so easy updating old c code.

As before, you can download from sourceforge.net or check for updates in your existing installation.

Here are some key enhancements:

   

Full release notes - Happy Reading !

LPub3D 1.3.0.504.2

Features and enhancements
------------
-Add/CHANGE line type attribute to border configuration
0=none,1=solid,2=dash,3=dot,4=dashDot,5=dashDotDot. So an old meta line like this:
0 !LPUB PLI BORDER GLOBAL ROUND Black 0 15 MARGINS 0.472439 0.07
should be updated to this:
0 !LPUB PLI BORDER GLOBAL ROUND 1 Black 0 15 MARGINS 0.472439 0.07
Another example:
0 !LPUB BOM BORDER GLOBAL NONE MARGINS 0.05 0.05
should be updated to this:
0 !LPUB BOM BORDER GLOBAL NONE 0 MARGINS 0.05 0.05

-Add dialog to print or export to image all pages, current page and custom range of pages (e.g. 1,3,5,7-9)

-Add ability to detect additional ldraw content search directories using ldrawini c api
I implemented the ldrawini c api to maintain compatability with LPub3D 3rd Party renderers - LDView, L3P(PovRay) and Ldglite. Additional directories must have either the same tree as LDraw Unofficial directory (i.e. parts and/or p subdirectories...) or alternatively, content can be deposited at the root of the additional directory (i.e. C:/ldrawFiles/*.dat). Content from all defined ldraw search directories are archived in the ldrawunf.zip archive and loaded into memory - enabling access to the 3DViewer.
If no ldraw.ini file is detected. LPub3D will automatically search all subdirectories under the ldraw/Unofficial directory - except directories p and parts. Unofficial subdirectories p and parts as well as official p and parts subdirectories are never searched because they are automatically loaded during default behavior during startup.
There are 2 ways to define search directories: 1. using the Ldraw.ini file (there is now a menu button to edit the ldraw.ini file) and 2. editing the 'Ldraw Content Search Directories text edit dialog under the 'Other' tab in Preferences. If you are using an LDraw.ini file, the preferences dialog will be read only - you must use the menu edit button under 'Configuration' to edit the ldraw.ini file. The ldraw.ini edit button only appears if a ldraw.ini file is detectected. If you are not using ldraw.ini, it is possible to add,remove and reset to the default search directories in the Preferences tab.
ldglite renderer updated with the ability to process additional directories beyond official/unofficial parts, p and Model. I implemented this enhancement to allow all 3 LPub3D renderers(LDView, Ldglite, L3P/PoV Ray) the same functionality supporting additional ldraw content search directories. LPub3D now passes 2 env variables to ldglite - LDRAWDIR and LDSEARCHDIRS. LdView and L3P already uses the ldrawini.c library. They can also be configured to detect additional ldraw content search directories if no ldraw.ini file is configured. I also upgraded ldglite's openGL API from glut (deprecated) to freeglut 3.0 released in June 2015. Ldglite os not versioned at 1.3.0 (from 1.2.7).

-Add ability to manage additional ldraw content search directories whether using Ldraw.ini or not.
If not using Ldraw.ini file, automatically detected search directories are limited to those under the Unofficial directory. The user has the ability to exclude and reset search directories within this edit list. Unofficial P and Parts directories are automatically excluded from the search directory list as they are loaded automatically by the application.
-Add Rotate Icon - indicate that the builder should "flip" the model

-Add PLI/BOM part substitution - substitute modeled part in PLI/BOM with alternate
This feature is useful when you have a modeled part (e.g. Power Functions Light) that will
take alot of space in the BOM/PLI, you can substitute the modeled version with an alternate
representation that is suitable for the PLI/BOM view. This feature is complementary to LDCad's
template functionality which allows you to model adjustable parts as needed. To use this
functionality, simply edit the substituation list from Configuration= BOM/PLI Substitute Parts List

-Add LDCad PART/UNOFFICIAL PART meta to recognize LDCad template generated parts

-Add gradients to background options

-Add Change local page background - colour, gradient, picture, submodel, none

-Add memu item 'Refresh Unofficial Parts' which downloads and replaces the ldrawunf.zip archive
in the Ldraw/LPub3DVoiewer-Library. LPub3D places all search directory parts in the ldrawunf.zip archive so they
can be made available for the LPub3D Viewer. This feature allows you to reset the archive file to
it's latest default content if desired. The ldrawunf.zip unofficial archive is used, along with the complete.zip,
by the 3DViewer.

-Add menu item 'Reset Fade Files Cache' which deletes all generated fade files. Fade files automatically
generated as needed when you open a model with the 'Enable Fade Steps' preference option checked.

-Update 3DViewer to LeoCAD build 1867

-Remove PartsList class, use instead lcPiecesLibrary class to verify parts and capture part title. This is a consolidation to
improve the application's performance.

-Move process fade colour parts to separate thread.

-Move fade parts directory from under LDraw/Unofficial/parts and LDraw/Unofficial/p to as single directory
under LDraw/Unofficial. So from this version of LPub3D, the fade directory will be autogenerated and populated
as LDraw/Unofficial/fade. Old fade directories under Unofficial/parts and p must be manually removed if desired.

-Redesign color part list and archive classes - rename and separate generage color parts list

-Cosmetic and performance updates

-Fix: Changing step number attributes on multi-step pages are now working

-Fix: PLI/BOM sort routine, sort on 'part colour' part(s) appear out of place relative to part size and colour.

-Fix: Do not create instruction page(s) for unofficial part

-Fix: Create s/8/48 subdirectory in lpub/tmp directory when needed. This fix will resolve the issue of LPub3D not being able to create inline unofficial subparts and 8/48 primitives when rendering models where these parts are defined in the model file.
-CHANGE: In previous versions of LPub3D, custom and fade parts were loaded under the Unofficial directory allowing detection by all renderers and the 3D viewer. From this version of LPub3D (v1.3.0), the fade directory will reside at the root of the the Unofficial directory. Custom content added to Unofficial P and Parts directories will not detected by LPub3D.

-CHANGE: Change part count routine to use ldraw archive files to look at '!LDRAW ORG...' part type meta tag. I think there are still some issue with this routine however - especially with large complex models using in-lined unofficial parts that may not be in ldrawunf.zip.

-CHANGE: Change 'Reset All Caches' to 'Reset Image and Model' Caches

-CHANGE: BOM default sort to sort by colour then size, previous default was size only (PLI default sort by size)

-CHANGE: Change 'Update' tab in preferences dialog to 'Other'.

Cheers !
Reply
Re: LPub3D 1.3.0 Released !
#2
Wow, Trevor, you've been working hard. Thanks for your effort!
I will try the new features which I am very happy with!
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#3
Nice work! There are some really nice features there Smile
Is the rotation-icon automatic (is it being placed when a rotstep is detected) or do you have to add it manually?

I was quietly hoping you would also include Jaco's local page orientation, but I don't need it now, so no problem Wink

Thanks for the work on LPub3D.
Reply
Re: LPub3D 1.3.0 Released !
#4
Many thanks !

The rotation icon is placed using the right-click context menu. Just right-click on a CSI image and select 'Add Rotate Icon.'

I completely forgot about Jaco's page orientation request. Indeed, it's quite possible and straightforward to add local page orientation. Look for it soon.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#5
Great stuff there Trevor! Tnx.

Although the gradient background is difficult to comprehend, I am getting results!
Is it possible to create a horizontal gradient with one color on top fading to another color at the bottom?
So far I only got a mirrored gradient.

I am really grateful for the rotation icon. Though the placement does things I do not expect. Perhaps we can take a look?

Here is an example of what I am doing currently:
https://drive.google.com/file/d/0B_DiVpC...sp=sharing
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#6
Hi Jaco,

Many thanks.

Jaco van der Molen Wrote:Is it possible to create a horizontal gradient with one color on top fading to another color at the bottom?

I think you can. Select Linear Gradient and play with the Color Editor. Perhaps you want to use the Pad Spread.

Jaco van der Molen Wrote:I am really grateful for the rotation icon. Though the placement does things I do not expect. Perhaps we can take a look?

What placement behavior were you expecting ?

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#7
Ok, I'll give that some more try.
I will show what I did and expected tomorrow and where it goes wrong (I think).
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#8
P.S. I am making LPub3D instructions for a friend for this moc:
http://www.eurobricks.com/forum/index.ph...opic=93462
He cannot run LDD...
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#9
Here is the unexpected behaviour of the rotation icon placement. See this folder:
https://drive.google.com/folderview?id=0...sp=sharing
In it there is the MPD and 2 png files of 2 pages.
The settings for PLI and stepnumber are:
Code:
0 !LPUB MULTI_STEP PLI PLACEMENT TOP LEFT ASSEM OUTSIDE
0 !LPUB MULTI_STEP STEP_NUMBER PLACEMENT BOTTOM LEFT PLI OUTSIDE
The placement of the rotation icon in step 3 is:
Code:
0 !LPUB MULTI_STEP ROTATE_ICON PLACEMENT TOP LEFT ASSEM OUTSIDE
But I want the icon te be right under the stepnumber, so I change it to:
Code:
0 !LPUB MULTI_STEP ROTATE_ICON PLACEMENT BOTTOM LEFT STEP_NUMBER OUTSIDE
However then on the next page (step 4) on screen (see screenshot) the stepnumber is under the assem, but when I export as png it is where I expect it to be right under the PLI. But then, when I reload (clear cache) and export as either PNG of PDF the stepnumber is under the assem?

I think it has something to do with the hierarchy of the LPUB metacommands, but I cannot be sure.

The problem is alo illustrated in steps 12 and 13 (page 7)
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#10
Hi Trevor,

I have another suggestions:

Would it be possible to sort the LPUB metacommands by type?
When working on a file I make settings to the page, the PLI, assem, stepgroup, etc. where I see fit and to try various things.
LPub3D creates a line with the metacommand for global setting on top of the file, but it does that in the order that one makes the settings it. Which is logic.

Once hapy with all settings I "sort" all commands by type and "group" them by adding command zero's between every section.
Here is a pice of LDraw code lines of a model I have and should illustrate what I mean:

Code:
0 FILE name.ldr
0 Name
0 Name: name.ldr
0 Author: Jaco van der Molen
0 Unofficial Model
0
0 !LPUB PAGE BACKGROUND GLOBAL COLOR "#55aaff"
0 !LPUB PAGE SIZE GLOBAL 11.6929 8.2677
0 !LPUB PAGE MARGINS GLOBAL 0.3937 0.3937
0
0 !LPUB PAGE DOCUMENT_AUTHOR DISPLAY GLOBAL TRUE
0 !LPUB PAGE DOCUMENT_AUTHOR PLACEMENT BOTTOM_LEFT PAGE INSIDE
0 !LPUB PAGE DOCUMENT_AUTHOR FONT "Arial,12,-1,5,75,0,0,0,0,0"
0 !LPUB PAGE DOCUMENT_AUTHOR COLOR "#323232"
0 !LPUB PAGE DOCUMENT_AUTHOR CONTENT GLOBAL "All about LDraw - www.binarybricks.nl"
0
0 !LPUB PAGE DOCUMENT_TITLE_FRONT DISPLAY GLOBAL TRUE
0 !LPUB PAGE DOCUMENT_TITLE_FRONT PLACEMENT GLOBAL TOP_LEFT PAGE INSIDE
0 !LPUB PAGE DOCUMENT_TITLE_FRONT COLOR GLOBAL "#000000"
0 !LPUB PAGE DOCUMENT_TITLE_FRONT FONT "Arial Black,48,-1,5,87,0,0,0,0,0"
0 !LPUB PAGE DOCUMENT_TITLE_FRONT CONTENT GLOBAL "Naam"
0
0 !LPUB PAGE MODEL_DESCRIPTION DISPLAY GLOBAL TRUE
0 !LPUB PAGE MODEL_DESCRIPTION PLACEMENT GLOBAL TOP LEFT MODEL_PIECES OUTSIDE
0 !LPUB PAGE MODEL_DESCRIPTION COLOR GLOBAL "#000000"
0 !LPUB PAGE MODEL_DESCRIPTION FONT GLOBAL "Arial,24,-1,5,75,0,0,0,0,0"
0 !LPUB PAGE MODEL_DESCRIPTION CONTENT GLOBAL "Model design by..."
0
0 !LPUB PAGE DOCUMENT_COVER_IMAGE DISPLAY GLOBAL FALSE
0 !LPUB PAGE DOCUMENT_COVER_IMAGE FILE GLOBAL "D:/MJ/LEGO Related/Models/name.png"
0 !LPUB PAGE DOCUMENT_COVER_IMAGE PLACEMENT LOCAL CENTER PAGE INSIDE 0 0.025
0 !LPUB PAGE DOCUMENT_COVER_IMAGE SCALE  1
0
0 !LPUB PAGE MODEL_PIECES DISPLAY GLOBAL TRUE
0 !LPUB PAGE MODEL_PIECES PLACEMENT GLOBAL LEFT PAGE INSIDE
0 !LPUB PAGE MODEL_PIECES COLOR GLOBAL "#000000"
0 !LPUB PAGE MODEL_PIECES FONT "Arial,24,-1,5,50,0,0,0,0,0"
0 !LPUB PAGE MODEL_PIECES CONTENT GLOBAL "xxx Pieces"
0
0 !LPUB PAGE MODEL_ID DISPLAY GLOBAL FALSE
0 !LPUB PAGE MODEL_ID PLACEMENT GLOBAL BOTTOM LEFT DOCUMENT_TITLE OUTSIDE
0 !LPUB PAGE MODEL_ID COLOR GLOBAL "#000000"
0 !LPUB PAGE MODEL_ID FONT GLOBAL "Arial,18,-1,5,75,0,0,0,0,0"
0 !LPUB PAGE MODEL_ID CONTENT GLOBAL "somename.ldr"
0
0 !LPUB PAGE DOCUMENT_AUTHOR_FRONT DISPLAY GLOBAL TRUE
0 !LPUB PAGE DOCUMENT_AUTHOR_FRONT PLACEMENT GLOBAL BOTTOM_LEFT PAGE INSIDE
0 !LPUB PAGE DOCUMENT_AUTHOR_FRONT COLOR GLOBAL "#000000"
0 !LPUB PAGE DOCUMENT_AUTHOR_FRONT FONT GLOBAL "Arial,18,-1,5,50,0,0,0,0,0"
0 !LPUB PAGE DOCUMENT_AUTHOR_FRONT CONTENT GLOBAL "Model instructions by: Jaco van der Molen"
0
0 !LPUB INSERT COVER_PAGE FRONT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
0 STEP
0 !LPUB ASSEM MODEL_SCALE GLOBAL  0.8
0 !LPUB MULTI_STEP BEGIN
0
0 !LPUB CALLOUT SEPARATOR GLOBAL 0.0312498 #000000 0.0499998 0.0499998
0 !LPUB CALLOUT BORDER GLOBAL ROUND #ffffd8 0.0312498 10 MARGINS 0.0499997 0.0499997
0 !LPUB CALLOUT PLI PER_STEP GLOBAL FALSE
0 !LPUB CALLOUT BACKGROUND GLOBAL COLOR "#ffffd8"
0
0 !LPUB PLI MODEL_SCALE GLOBAL  0.7000
0 !LPUB PLI BORDER GLOBAL ROUND #aaffff 0.0312494 10 MARGINS 0.128739 0.12874
0 !LPUB PLI BACKGROUND GLOBAL COLOR "#aaffff"
0 !LPUB PLI INSTANCE_COUNT FONT GLOBAL "Arial,18,-1,5,75,0,0,0,0,0"
0 !LPUB PLI ANNOTATION DISPLAY GLOBAL TRUE
0 !LPUB PLI ANNOTATION USE_TITLE_AND_FREE_FORM GLOBAL TRUE
0 !LPUB PLI ANNOTATE FONT_COLOR GLOBAL "#5500ff"
0 !LPUB PLI ANNOTATE FONT GLOBAL "Arial,16,-1,5,75,0,0,0,0,0"
0 !LPUB PLI PLACEMENT GLOBAL TOP_LEFT PAGE INSIDE
0
0 !LPUB STEP_NUMBER FONT GLOBAL "Arial Black,48,-1,5,87,0,0,0,0,0"
0 !LPUB STEP_NUMBER PLACEMENT GLOBAL BOTTOM LEFT PLI OUTSIDE
0
0 !LPUB MULTI_STEP STEP_NUMBER FONT GLOBAL "Arial Black,48,-1,5,87,0,0,0,0,0"
0 !LPUB MULTI_STEP STEP_NUMBER PLACEMENT BOTTOM LEFT PLI OUTSIDE
0 !LPUB MULTI_STEP PLI PLACEMENT TOP LEFT ASSEM OUTSIDE
0

So I wonder if it is possible to force LPub to kind of sort the metacommands that go together in a certain group? For instance starting with page settings, then assembly, stepnumber multistep, PLI, callout, etc. (not the way I sorted above example btw)
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#11
Other suggestions / wishes:

- local page orientation (but you already know that one :-)
- be able to scale the rotation icon (I think it is one size now on all instances?)

- add a corner to callout arrows
I personally dislike oblique lines comming from callouts pointing to where a calledout submodel is in the model. Even more it somtimes makes images of the step difficult to see when a line runs over the model (assembly image).
I usally try to avoid that so I place callouts where I can where I can keep the arrow line horizontal or vertical, but sometimes this seems impossible of unavoidable. Being able to add one or more corners to the line of the arrow would solve that.

- one part callouts
To be able to callout individual parts instead of submodels only
This to emphasis where a part is that one cannot see wholy.
Or for example bricks with print, studs on side (placed so that you cannot see it), etc.

Example
Code:
1 4 0 0 0 1 0 0 0 1 0 0 0 1 3003.dat
1 1 -10 -24 10 -1 0 0 0 1 0 0 0 -1 87087.dat
1 1 -10 -24 -10 0 0 1 0 1 0 -1 0 0 47905.dat

It is impossible to identify where the brick with one stud or two studs goes.
Calling out either one of them and showing in a certain angle should make it easier to see what part it is.
What I do now is create a submodel with only one of the bricks in it and then use that submodel for the brick to be able to call it out with a rotation step to show the right angle

Being able to call out a single brick like this, would make it less code intensive
The code would be something like this?

Code:
1 4 0 0 0 1 0 0 0 1 0 0 0 1 3003.dat
1 1 -10 -24 10 -1 0 0 0 1 0 0 0 -1 87087.dat
0 !LPUB CALLOUT PART BEGIN
1 1 -10 -24 -10 0 0 1 0 1 0 -1 0 0 47905.dat
0 !LPUB CALLOUT PART END

With the addition of a say 30 degree angle round the Y axis rotation like
Code:
CALLOUT BEGIN ROTATED 0,-30,0

or something.
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#12
Jaco van der Molen Wrote:[...]
- one part callouts
To be able to callout individual parts instead of submodels only
This to emphasis where a part is that one cannot see wholy.
Or for example bricks with print, studs on side (placed so that you cannot see it), etc.
[...]

This is a very interesting idea. I like it!
I imagine it isn't that difficult to implement in LPUB (I mean, it's the same as every other callout, except that it's a part instead of a submodel, but I can be wrong of course), but it would be much easier for the instruction-author.
Reply
Re: LPub3D 1.3.0 Released !
#13
+1 here too. I've used lots of single parts submodels just for that...
Reply
Re: LPub3D 1.3.0 Released !
#14
The placement of the Page Model Description seems to be broken. For example I'd expect it to be on the center right side of the page with this code:
Code:
0 !LPUB PAGE MODEL_DESCRIPTION DISPLAY GLOBAL TRUE
0 !LPUB PAGE MODEL_DESCRIPTION PLACEMENT GLOBAL RIGHT CENTER MODEL_PIECES OUTSIDE
What ever placement I choose, it keeps showing up in the upper left corner of the page.
Neither does it take page margins in to account.

Placement relative to the Pieces seems to work, since the placement of Pieces does work like I expect.
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#15
I began working on adding LPub3D and its features to the online manual:
https://sites.google.com/site/workingwithlpub/lpub3d
Please comment for so far?
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#16
Positioning a callout in a step-group relative to the assembly (phew, what a sentence) is also broken. Everything on the right doesn't work, top is bottom and bottom is top and left of the assembly becomes left of the parts-list. In a non-stepgroup (so no multiple steps on 1 page), it seems to work fine.

There might be more that's not working, but there are so many possible combinations of relative to ... and the position Wink
Reply
Re: LPub3D 1.3.0 Released !
#17
Hi Jaco - so if I understand well, you would like to place the rotation icon under the step number (bottom left outside) without having the next step's step number repositioned under the assy - is this correct?

I'll take a look to see if I can find and correct this unexpected behavior once I have you confirmation that I understand the issue.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#18
Thanks for this suggestion Jaco. I'll take it into consideration.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#19
I did not have the time to try it yet, so I need to ask, is the placement of the Roticon done with the same dialogue, that places everything relative to each other?

thansk
Reply
Re: LPub3D 1.3.0 Released !
#20
Ah yes, you are the first one to comment on the 'placement' behavior.

I could not reproduce your behavior. When I move model description to the right of pieces, that's where it goes - see screenshot below. Perhaps you can post a screenshot?

As you may know, the underlying behavior of placement is based on items being relative to another with the root item being relative to the page. For the cover page, the Title is the root item. The move dialog should show the available placement options and the items they are relative to.

Here is the table

Code:
/* PAGE ATTRIBUTE FORMAT
   *
   * Front Cover Default Attribute Placements
   *************************************
   *   Logo (Top Left of Page)         *
   *                                   *
   *   ModelName                       *  (Top of Title)
   *   Title                           *  (Left Center of Page)
   *   Author                          *  (Bottom of Title)
   *   Pieces                          *  (Bottom of Author)
   *   Model Description               *  (Bottom of Pieces)
   *   Publsiher Description           *  (Bottom of Model Description)
   *                                   *
   *************************************


   * Header/Footer Default Attribute Placements
   * ***********************************
   * URL (Top Left of Page)            Email (Top Right of Page)
   * ***********************************
   * *                                 *
   * *                                 *
   * *                                 *
   * *                                 *
   * ***********************************
   * Copyright (Bottom Left of Page)   Author (Bottom Right of Page)
   * ***********************************


   * Back Cover Default Attribute Placements
   * **********************************
   *               Logo               *  (Top of Page)
   *  Title                           *  (Top of Author)
   *  Author                          *  (Top of Copyright)
   *  Copyright                       *  (Top of URL)
   *  URL                             *  (Top of LEGO Disclaimer)
   *  Email                           *
   *  LEGO Disclaimer                 *  (Center of Page)
   *  LPub3D Plug                     *  (Below LEGO Disclaimer)
   *  LPub3D Plug Image               *  (Right of LPub3D Plug)
   *                                  *
   ************************************


   * Page Attribute relative Tos
   *
   *  FRONT COVER PAGE
   *  documentLogoFront.placement  (BottomLeftOutside,  PageHeaderType)
   *  modelName.placement          (TopLeftOutside,    PageTitleType)
   *  titleFront.placement         (LeftInside,         PageType)
   *  authorFront.placement        (BottomLeftOutside,    PageTitleType)
   *  pieces.placement             (BottomLeftOutside,    PageAuthorType)
   *  modelDesc.placement          (BottomLeftOutside,    PagePiecesType)
   *  publishDesc.placement        (BottomLeftOutside,    PageModelDescType)
   *
   *  BACK COVER PAGE
   *  documentLogoBack.placement   (BottomOutside,    PageHeaderType)
   *  titleBack.placement          (CenterCenter,    PageType)
   *  authorBack.placement         (BottomOutside,      PageTitleType)
   *  copyrightBack.placement      (BottomOutside,      PageAuthorType)
   *  urlBack.placement            (BottomOutside,      PageCopyrightType)
   *  emailBack.placement          (BottomOutside,      PageURLType)
   *  disclaimer.placement         (BottomOutside,      PageEmailType)
   *  plug.placement               (BottomOutside,    PageDisclaimerType)
   *  plugImage.placement          (BottomOutside,    PagePlugType)
   *
   *  HEADER
   *  url.placement                (TopLeftInsideCorner,    PageType)
   *  email.placement           (TopRightInsideCorner,    PageType)
   *
   *  FOOTER
   *  copyright.placement       (BottomLeftInsideCorner,      PageType)
   *  author.placement           (LeftBottomOutside,     PageNumberType)
   *
   *  NOT PLACED
   *  category                     (TopLeftInsideCorner,       PageType)
   */

   

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#21
Hi Merlijn,

Thanks for the update. I have not played too much with callouts mostly because I don't believe they are necessary. To put another way, there are other model structure patterns that communicate the efficient building without the use of callouts.

Furthermore, the underlying placement architecture of LPub - which drives what is efficiently possible for me to implement - is quite brittle and restrictive. I think it is why placement - especially for multi-step items - is not fully enabled, or properly working in the original LPub.

Anyway, I understand there are those who use LPub3D and indulge in producing instructions as complex and sophisticated as their models so I will do what I can to investigate and correct the behavior you described.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#22
Jaco - these are some good suggestions and some, unfortunately do not seem to justify the effort to realize:-(

Jaco van der Molen Wrote:- local page orientation (but you already know that one :-)
Accepted.

Jaco van der Molen Wrote:- be able to scale the rotation icon (I think it is one size now on all instances?)
Not convinced of the value this will bring relative to the effort to implement - but I will take a look.

Jaco van der Molen Wrote:- add a corner to callout arrows
Not convinced of the value this will bring relative to the effort to implement - but I will take a look.

Jaco van der Molen Wrote:- one part callouts
Accepted.

Jaco van der Molen Wrote:- Callout with the rotation of n degree angle around x/y/z axis
Accepted.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#23
Hi Gerald,

Gerald Lasser Wrote:...is the placement of the Roticon done with the same dialogue, that places everything relative to each other?
Yes for multi-step pages and no for single step. On single-step pages you can drag it where you want.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#24
Jaco - this looks good ! You can see all the notable new features since 1.0.0 under the About menu => Version Details.
Reply
Re: LPub3D 1.3.0 Released !
#25
Well, it was working correctly in the originial LPub and also the previous version of LPub3D, so I suppose you broke something in the 1.3.0 update Wink

Also, I've been experimenting a bit with the 1.3.0 update a bit yesterday. And it seems way faster that the original LPub and even the previous version of LPub3D. Is it just me or did you really make some under-the-hood improvements? (Or could it be that I was experimenting with a small 100pcs model instead of the 2000+ Technic models I normally use?)

Thanks!
Reply
Re: LPub3D 1.3.0 Released !
#26
Thanks Trevor for pointing that table and example out!
That helps. I've always placed things by trial and error, but this helps a lot.
Can I include this in the online manual I am (re)writing?
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#27
Trevor Sandy Wrote:Furthermore, the underlying placement architecture of LPub - which drives what is efficiently possible for me to implement - is quite brittle and restrictive. I think it is why placement - especially for multi-step items - is not fully enabled, or properly working in the original LPub.Cheers,

I can confirm that. Way back, when Kevin was still working on LPub, I pointed this out too.
It was (is) to complex to fully implement "free" placement.
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#28
Thanks Trevor!
Regarding the rotation icon my wish came from using it in a callout. Concider it a NTH (Nice To Have :-)

When I create instructions I often try to stay close to LEGO's instructions where, if they use callouts, they always use straight lines.
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#29
Trevor Sandy Wrote:Hi Jaco - so if I understand well, you would like to place the rotation icon under the step number (bottom left outside) without having the next step's step number repositioned under the assy - is this correct?
Yes, that is correct!
Trevor Sandy Wrote:I'll take a look to see if I can find and correct this unexpected behavior once I have you confirmation that I understand the issue.
Thanks again :-)
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#30
Trevor Sandy Wrote:[attachment=1940]
Trevor, can I perhaps use this model on the online manual website to explain?
I yes, please sent me the LDraw file?
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#31
I forgot to mention one more thing:
After installing the new version I got an error:
[attachment=1941]
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#32
I get that message too every time I start LPub3D.
Reply
Re: LPub3D 1.3.0 Released !
#33
Certainly you can post. I plan on rewriting the placement logic at some point in the future. I'll keep you informed.
Reply
Re: LPub3D 1.3.0 Released !
#34
Very well. I'll take a look.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#35
Ok - good to know your perspective. Thanks.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#36
Well - if you think I broke something then I am definitely interested to know more about the behavior you are experiencing.

Can you send an example model file with the metas causing the issue - that you believe worked previously?

This would be very helpful in expediting my research. Many thanks !

Indeed, I think the performance has improved a bit.


There was some feedback about the slow performance so I spent considerable time implementing multi-threading where I could. I also moved around some of classes and tried to cleanup some deprecated functions like RegExp etc...

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#37
Indeed - but I will still try to fix/improve what I can so do continue to provide your feedback and suggestions.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#38
Of course!

It's just a little model I use to test, along with a bigger one for performance benchmarking. I also sent the minifig logo.

See attached.

Cheers,


Attached Files
.mpd   6964 - Boba Fetts Slave.mpd (Size: 3.18 KB / Downloads: 0)
.png   minifig.png (Size: 60.07 KB / Downloads: 10)
Reply
LPub3D 1.3.1 Released !
#39
Oops - I overlooked adding the pliSubstituteParts.lst file in the NSIS build script.

As this is a bug, I've released version 1.3.1 with the following updates:

LPub3D 1.3.1.516.3

Features and enhancements
------------
-Fix: Update ldglite hard-coded default directory setting (r505)
-Fix: Remove hard coded reference to LPub3DViewer-Library folder - this was added in 1.3.0 unofficial archive refresh functionality (r506)
-Fix: Add pliSubstituteParts.lst to media build - sorry, I forgot to include in the NSIS build script:-( (r515)
-Enhancements - replaced RegExp routines that were impacting performance - so should see slightly better performance (r507)

As before you can download from sourceforge or check for updates in your existing installation.

Cheers,
Reply
Re: LPub3D 1.3.0 Released !
#40
Trevor Sandy Wrote:Of course!

It's just a little model I use to test, along with a bigger one for performance benchmarking. I also sent the minifig logo.

See attached.

Cheers,

Thanks! I'll include this and the page placement stuff in the manual.
Jaco van der Molen
lpub.binarybricks.nl
Reply
Re: LPub3D 1.3.0 Released !
#41
Trevor Sandy Wrote:-Add ability to detect additional ldraw content search directories using ldrawini c api

Funny thing is that we do NOT have a LDraw.ini at LDraw.org :-o There has been a discussion in the SteerCo forum of adopting the standard 3 years ago but nothing has been decided.

There is some preliminary work on it:

http://news.lugnet.com/cad/?n=16036&t=i&v=a

We should bring this to a happy ending.

w.
LEGO ergo sum
Reply
Re: LPub3D 1.3.1 Released !
#42
Please update the sourceforge files. Current version is:

LPub3D 1.3.0.504.2

Furthermore you should add some information to the "A new version of LPub3D is available!"-dialog where the files get downloaded.

w.
LEGO ergo sum
Reply
Re: LPub3D 1.3.1 Released !
#43
Sourceforge is now up to date.

I mistakenly uploaded v1.3.0 distribution to the 1.3.1 folder.

Willy Tschager Wrote:Furthermore you should add some information to the "A new version of LPub3D is available!"-dialog where the files get downloaded.

I'm not sure what additional information you are expecting ? Version features and enhancements are available via the 'Show Details' button - here is how it presents.


.png   NewVersion1.png (Size: 31.54 KB / Downloads: 10)


.png   NewVersion2.png (Size: 37.72 KB / Downloads: 10)

Cheers,
Reply
Re: LPub3D 1.3.1 Released !
#44
Downloaded the x32 zip version and get errors for the following missing files:

fadeStepColorParts.lst
titleAnnotations.lst
pliSubstituteParts.lst

though they are present in my "extra" folder.

>I'm not sure what additional information you are expecting ?
>Version features and enhancements are available via the 'Show Details' button - here is how it presents.

I'd like to know to which folder or temp folder you're downloading your updates for the event I wanna quit the update now to do it at a later time.

w.
LEGO ergo sum
Reply
Re: LPub3D 1.3.1 Released !
#45
Willy, if you are using the .zip distribution, the content in the 'extras' directory will have to be manually moved to '<drive>:\Users\<user>\AppData\Local\LPub3D Software\LPub3D\extras'.

I think it's the same path on older Win systems also - I'm using Win10.

I'll update the logic to first check the current directory for the extras folder. This way, folks using the .zip distributions will not have to take any action before running.

Cheers,
Reply
Re: LPub3D 1.3.1 Released !
#46
Stupid me! I already had code in the AIOI to move that folder but deleted it as I couldn't find a reason for writing it. Will teach me a lesson.

w.
LEGO ergo sum
Reply
Re: LPub3D 1.3.1 Released !
#47
No worries ;-)

Just so you know the reason I've put the extras folder where it's expected:

If LPub3D is installed under UAC Program Files, as it is using its native installer and I believe AIOI, the extras folder should not be installed there also as it contains updatable files.

Cheers,
Reply
Re: LPub3D 1.3.1 Released !
#48
Willy Tschager Wrote:I'd like to know to which folder or temp folder you're downloading your updates for the event I wanna quit the update now to do it at a later time.

<Drive>:\Users\<UserName>\AppData\Local\Temp

Cheers,
Reply
Re: LPub3D 1.3.2 Released !
#49
LPub3D 1.3.2.563.5

Features and enhancements
------------
-Fix: PLI Parts annotation restored to short value (r555)
-Fix: Control manual page number entry. (r562)
-Fix: Remove silent_alloc which would trap the Callout meta 0 !LPUB CALLOUT [HORIZONTAL|VERTICAL] and throw a parse error.
However silent_alloc was not fully implemented and does not serve any current purpose.
The correct meta to allocate a Callout Horizontally or Vertically is 0 !LPUB CALLOUT ALLOC [HORIZONTAL|VERTICAL]

Cheers,
Reply
LPub3D 1.3.3 Released !
#50
LPub3D 1.3.3.590.2

Features and enhancements
------------
-Fix: Crash when pieceinfo is null - this occurs when a file has no FILE meta and is imported as an ldr (versus an mpd).(r575)
-Fix: Periodic crash when changing margin of assembly (CSI) in multi-step page (r577)
-Fix: Periodic crash when adding divider to multi-step page or callouts (r577)
-Fix: Periodic crash every time a second successive rotation icon is added to multi-step page (r577)
-Fix: If using LPub3D archive distribution (no installer), use distribution's extras folder instead of creating one in AppData (r579)
-Fix: Print/export dialog progress bar (r585)
-Fix: Upon "Add assembled image to parent page" a rotation icon is added to the callout if rotation icons were present in the callout step(s). Assembled and rotated callouts will not display rotate icons on the parent page. Only unassembled callouts will display rotate icons if present in the callout step(s). (r587)
-Fix: 2 page refreshes when Parameters menu item is accepted - only a single refresh needed. (r588)

Cheers,
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 3 Guest(s)