Hans Martin Kern
Member-
Posts
46 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Everything posted by Hans Martin Kern
-
How to change value of an enhanced pull-down menu
Hans Martin Kern replied to Stefan Bender's topic in SDK
Just thinking out loud here: I assume you're passing in true for enhanced and showIconInMainWindow otherwise we wouldn't see the icons. Hmm. Are you using the markers to access the entries of the pulldown menu? Maybe there's something fishy there? -
How to change value of an enhanced pull-down menu
Hans Martin Kern replied to Stefan Bender's topic in SDK
Just off the top of my head - Did you supply a png for the "Keiner" option (even if it's a an empty png)? -
If I insert a Door or Window object into a drawing using VW 2023, VW immediately displays blue reshape handles on the Door / Window object and I can start resizing it right away - without an additional trip to the reshape tool. Any hints on how to achieve the same behavior for a SDK-based third party plug-in? I found the extended property "kObjXPropInteractiveSizingInsert" but it looks like it's restricted to door/window use? Any hints appreciated.
-
Interiorcad notched plinth
Hans Martin Kern replied to Woodychips's topic in 3rd Party Services, Products and Events
Hey @Woodychips, unfortunately, there's no way to parametrically remove the edge banding on the toe kick recess. As you're exporting to Enroute I assume your design is almost done so it may be worth your while to actually ungroup (a copy of) the cabinet object and turn off the the edge banding for the toe kick recess in the left & right side of the cabinet. -
One of our plug-ins is automagically exporting symbols to a library file using virtual bool VCOM_CALLTYPE ExportResourceN(MCObjectHandle resource, IFileIdentifier* pFileID = nil, TImportResourceConflictCallbackProcPtr conflictCallback = nil) = 0; Works like a charm. Users have requested that we should export the symbol into a resource folder within the library file - so the structure of the library file is somewhat "tidier" and easier to work with when they open it up for maintenance purposes. Is there a way to accomplish that with the SDK?
-
You can find instructions on installing the dialog builder at https://developer.vectorworks.net/index.php/SDK:Dialog_Builder There's also the option to create the dialog layout with the SDK functions supplied, just scan ISDK for functions like Create... and SetBelow... / SetRight...
-
Haven't seen this one. Off the top of my head - Is it a master snap in disguise?
-
Thanks for reaching out, Jushua. In fact, that's what I did. I assigned the record format to an object in file B. Both record formats are structurally identical as they were created from scratch by the code snippet posted. I have not touched the record formats after creation by any means. They are identical. So my conclusion is that there has to be some hidden ID / timestamp attached to the record format which makes the record formats different.
-
I create a VW record format in document A with the following code snippet if (! VWRecordFormatObj::GetRecordFormat("SomeRecordFormat")) { VWRecordFormatObj recordFormat("SomeRecordFormat"); recordFormat.AddParamCoord("SomeParam", 0.0); recordFormat.SetLock(false); recordFormat.SetFormatVisibility(true); } and assign the record format to a VW object in document A and enter some value for "SomeParam". Then, I open up a new document B and create a VW record format in document B with the very same code snippet shown above - so record format "SomeRecordFormat" is structurally identical in both document A and B. Now, I try to copy / paste the VW object with the associated "SomeRecordFormat" data from document A to document B. Vectorworks brings up a dialog complaining about the record format ("SomeRecordFormat") already being contained in document B and asks if I would like to replace, merge, rename the record format or continue using the existing record format. Is there a way to "convince" VW that the record format in document A and B are the same and that it should not bring up the aforementioned dialog? Looks like there's a hidden unique ID or a time stamp attached to the record format?
-
VCOM Interfaces: Release them or not? (refcount warning)
Hans Martin Kern replied to Stefan Bender's topic in SDK
Stephan, Here's how I would tackle this: class SomeClass { public: SomeClass(); private: IEnergyBuildingElementWinDoorExPtr m_energy_2021; } SomeClass::SomeClass() : m_energy_2021(IID_EnergyBuildingElementWinDoorEx) { // If querying the interface fails for some reason, m_enery_2021 would be nullptr } The default destructor of SomeClass() will take care of releasing the acquired interface. Even if you create your own destructor, m_energy_2021 will still be released. So, to the best of my knowledge, there's no need for you to manually release it. -
A dialog of ours displays a list browser with a list of choices. Users can double-click on one of the items in order to select AND close the dialog right away. This is implemented in the dialog event handler function by if (itemHit == -kListBrowser) itemHit = kDefaultButtonID; This was working fine on both platforms for years, but with VW 2020, the code is no longer working on Windows (macOS still works fine). Is this a regression or do we need jump through more hoops due to the new editable list browsers?
-
macOS notarization and VW plug-in development
Hans Martin Kern replied to Hans Martin Kern's topic in SDK
Thanks - great idea, will try that one. Maybe we should encourage VW, Inc. to deliver a VW.app bundle with the get-task-allow entitlement alongside the SDK to avoid this "all-or-nothing" workaround? -
macOS notarization and VW plug-in development
Hans Martin Kern replied to Hans Martin Kern's topic in SDK
I found that Vectorworks 2020 uses the the "disable-library-validation" entitlement, so plug-ins should load and run (for now). However, it looks like it is lacking the "get-task-allow" entitlement, which enables debugging the plug-ins with Xcode debugger (at least on 10.14.6, lldb can no longer attach to the Vectorworks 2020 process). Any pointers? -
macOS Catalina requires code to be signed and notarized. Does this apply to Vectorworks plug-ins, too? Or does VW use the disable-library-validation entitlement? Any hints would be greatly appreciated.
-
SDK equivalent to VectorScript SetDimText function?
Hans Martin Kern replied to Hans Martin Kern's topic in SDK
Well, in my particular setting, the dimension would be contained in a plug-in object, so I'm not concerned about the user messing with the dimension - but your suggestion "fake it using the leader text" is certainly a good one - thanks a bunch (didn't see the forest for the trees). -
Hi, I've been searching high and low both in ISDK and in the Object variables for an SDK equivalent to VectorScript's SetDimText() function (http://developer.vectorworks.net/index.php/VS:SetDimText). Any pointers? I think I'm not seeing the forest for the trees here. Thanks! Basically, I would like to create a linear dimension object and modify the value displayed by the dimension object afterwards. Of course, I could dive head-first into the dimHeaderNode and navigate to the text node, but I'm wondering if there's an official way to do it.
-
The engineers are working hard on interiorcad 2018 - We hope to get it out to both our international and German speaking customers in late October / early November. I'm not yet allowed to talk about the feature set but will post more details / a URL here as soon as I'm allowed to ;-)
-
Patrick, thanks for the hint. However, this leads to the inevitable question: How do rotate a custom-object without taking the current view into account? Coming from an SDK background, I would expect to set the custom object's 4x3 TransformMatrix and I'm done. HMK
-
Patrick - sure, here it is. Just for fun, I try to create & rotate a "Screw and Nut" custom object. RotatingScrew.vwx