久しぶりに .Net で AutoCAD プログラミング。
レイヤーテーブルを得る。
Dim LaTable aAs LayerTable = ・・・・・・・
よしとれた、OK
今度は特定のレイヤーの オブジェクトID だ。
Oid = LaTable("ABC")
OK、順調、順調
ところがこのレイヤーを削除して、また同じ名前で作ってもう一度得ようとすると
Oid = LaTable("ABC")
は昔の、削除されたオブジェクトIDを返してくれる。
違う! 今作った生きてるのを返してと思ってもできない。
ARX なら
AcDbLayerTable.getAt
で、削除されたものを取るかどうかのフラグがある。が .Net には getAt がない。
しかたがないので、COM経由で
Oid = FromAcadObject(AcadDoc.Layers.Item("ABC"))
とすれば生きているレイヤーだけを取ることができる。
またこんなことに半日も使ってしまった。
まだまだやな。AutoCADアプリケーション on .Net
レイヤーテーブルを得る。
Dim LaTable aAs LayerTable = ・・・・・・・
よしとれた、OK
今度は特定のレイヤーの オブジェクトID だ。
Oid = LaTable("ABC")
OK、順調、順調
ところがこのレイヤーを削除して、また同じ名前で作ってもう一度得ようとすると
Oid = LaTable("ABC")
は昔の、削除されたオブジェクトIDを返してくれる。
違う! 今作った生きてるのを返してと思ってもできない。
ARX なら
AcDbLayerTable.getAt
で、削除されたものを取るかどうかのフラグがある。が .Net には getAt がない。
しかたがないので、COM経由で
Oid = FromAcadObject(AcadDoc.Layers.Item("ABC"))
とすれば生きているレイヤーだけを取ることができる。
またこんなことに半日も使ってしまった。
まだまだやな。AutoCADアプリケーション on .Net
日本郵政公社近畿支社が売り出した「阪神タイガースVICTORY!2005」の絵葉書(関西地区限定)を手に入れた。
東京の巨人ファンや名古屋の中日ファンの友人に送ってあげた。
東京の巨人ファンや名古屋の中日ファンの友人に送ってあげた。