Failure to communicate?
-
I have yet to use 2017 for any project as the extrusion tool s are not functional, it made me realise how much I use this particular plugin. My problem is the lack of communication and assistance between the dev team and the plugin developers. I cannot see how this communication can be at a relevant level when such a tool causes its developer so much stress and extra work. When a company leave so many tools to outside developers, how can this be allowed to happen?
IMHO, it is the onus of the development team to either bring such tools into basic development OR properly assist outside developers. Off soap box now, over to you.
-
Adding more functionality to the API can easily break older tools that had workarounds to brute-force a particular action.
So a fix can cause a break. I wouldn't say there is lack of communication. Moreso a continuously improving API that adds new features.
Although, a roadmap to API changes would help alleviate the headache of firefighting at short notice.
-
Thanks Rich, I do understand the theory of older code modified for later versions. IMHO, there is a point where totally new coding/base engine should be implemented, however it is done, rather than stick band aids over older versions. If this is done there is less need to implement new releases every year, honestly, apart from marketing folk what is that all about? Perhaps the basic extrusion and other 3d tools should be in house anyway so they can be more easily integrated. When I think about the next version coming along, does that mean more reworking for plugin writers due to more changes in implementation? I have not done anything meaningful in 2017 and we are almost at the point of release of 2018 already. An odd mind set these development teams have.
-
@mike amos said:
does that mean more reworking for plugin writers due to more changes in implementation?
typically yes, new API fixes make older workarounds redundant and in some cases inoperable.
I prefer the new approach with more API fixes rather than it was with Google and API changes were years apart.
Now each year we get further improvements and more toys to play with. Mainly because extension devs request for more API access. Or for SketchUp to add new methods etc...
It has to keep changing to stay fresh. It's only a matter of time before someone makes a CAD app to challenge for SketchUp's large loyal user base. Many have failed so far...
-
The main API issue with the v2017 changes was how exploded entities' IDs changed.
Perviously if you made a temporary group and got references to its edges/faces etc, then when you exploded the group you could reuse those references, if they were still valid.
With v2017 any in-group references are lost, all exploded entities get new IDs !
So all of the code using the old methods needs recasting so that it catches the IDs of the exploded entities, not there previous IDs.
Another workaround is to give the group's entities' custom attribute IDs and then re-collect them after the explosion...
This is possible: it's just a pain [PITA] to recode.However, there are some subtle issues that are still unresolved.
In a few weeks I'll be at DevCamp... and then. hopefully, thomthom and others can help me track what's up with a few of my ExtrudeTools.
I have now trapped all of the issues which I can see, and I ensure that start/commit_operations are properly set... BUT in a few of the tools, although they complete their work perfectly, when the user subsequently does an UNDO it BugSplats ! That is after that extrude tool has successfully completed and the commit is properly recorded !!
Advertisement