OpenDCL

提供:GizmoLabs - だいたい CAD LISP なサイト
2021年3月31日 (水) 08:06時点におけるGizmon (トーク | 投稿記録)による版

OpenDCL ( https://opendcl.com/ )は、AutoCAD の AutoLISP で利用される DCL(ダイアログ制御言語)の代替となるGPLライセンスのプロダクト。 ツリーやタブ、グリッド、スプリッタなど Windows で一般的な UIコントロールがあり、LISP + DCL では心もとない UI周りを補完した開発をすることができる。 尚、OpenDCL は GPL v2 であるため OpenDCL 自体に手を入れて頒布・販売したい利用したい場合は、同様に GPL v2 としてソースコードを公開する必要があるが、OpenDCL に手を入れずに利用する形であれば他のライセンスと組み合わせで組み込んで利用可能。 >> https://www.opendcl.com/forum/index.php?topic=530.0 でのコメント和訳

You can use any license you want for your own application.  If you were to modify OpenDCL or distribute its source code, then you would need to distribute it under a GPL license.
独自のアプリケーションに必要な任意のライセンスを使用できます。 OpenDCL を変更したり、そのソースコードを配布したりする場合は、GPLライセンスの下で配布する必要があります。
I'm not sure that it's legally required, but I would advise that you mention OpenDCL in your license agreement and include the copyright notice (Copyright 2009 OpenDCL Consortium) to ensure that your customers know what it is.
法的に義務付けられているかどうかはわかりませんが、ライセンス契約に OpenDCL について言及し、著作権表示(Copyright 2009 OpenDCL Consortium)を含めて、顧客にOpenDCLが何であるかを確実に知らせることをお勧めします。

ライセンスの細かな部分に関してはあまり頓着していない雰囲気なので、正確を期すなら専門家を交えて確認したほうがいいでしょう。

OpenDCL は、ObjectDCL(http://www.objectdcl.com/ : 2006年に GNU GPLライセンスにて、オープンソースとしてリリースされた 3rd day Software の市販アプリケーション by オーナー Chad Wanless.)をベースにしている。

利用可能な CAD (Runtime.9.1.3.0 - 2021年3月時点) ・ AutoCAD (2016 以降)… ARX アプリなので LT では使えない ・ BicsCAD (V13 以降) … BRX アプリなので Classic や LITE では使えない ・ GstarCAD (2015 以降)… GRX アプリなので LT では使えない ・ IJCAD (2015 以降)… GRX アプリなので LT では使えない ・ ZWCAD (2014 以降)… ZRX アプリなので STD では使えない


超ざっくりな作り方&使い方

  1. OpenDCL Studio をダウンロードしてインストールする。
  2. OpenDCL Studio 上でインターフェス作ったり関連 LISP を指定したりする。(LISPのコーディングは別でやる形。)
  3. OpenDCL の Runtime をダウンロードして利用したい PC にインストールする。
  4. OpenDCL の Runtime を CAD で読みこむ。(32bit/64bit で読み込むファイルが違う 64bit 用は x64 と付いてるやつ)
  5. OpenDCL を使った LISP のプログラムを読み込み、実行する。


HelloWorld (IJCAD 2020 64bit の場合)

; OpenDCL.x64.2020.grx とHello.odcl (Form1のダイアログが定義されている)が CAD のパス上にあること前提。

(defun OpenDCL_Load_Runtime ()
  (if (not (member "OpenDCL.x64.2020.grx" (arx)))
    (arxload "OpenDCL.x64.2020.grx" "OpenDCL.x64.2020.grx がないっす。")
  )
)

(defun c:Hello ()
  ; OpenDCL のランタイムを読み込む
  (OpenDCL_Load_Runtime)
  ;; Hello.odcl ファイルを読み込む
  ;; プロジェクトの変更を確認しやすくするために、T の引数で毎回プロジェクトをリロード。
  (Dcl-Project-Load "Hello.odcl" T)
  ;; メソッドを呼び出し、Hello ダイアログボックスを表示します。xボタンで終了。
  (Dcl-Form-Show "Hello" "Form1" 0 0)
;  (Dcl-Form-Show "Hello" "Form1") ;  中央表示
  (princ)
)