Тема: Проблема со вставкой блока.

При создании блока указываю ему базовую точку.
А при втавке блока из файла базовая точка смещаеться... Т.е. когда автокад говорит укажите точку для вставки объект сильно смещаеться от указанной точки вставки.

Re: Проблема со вставкой блока.

Хм. Не забываем читать Developers Help
You can insert blocks or entire drawings into the current drawing with the InsertBlock method. The InsertBlock method takes six values as input: the insertion point, the name of the block or drawing to insert, the X-scale factor, the Y-scale factor, the Z-scale factor, and the rotation angle.
When you insert an entire drawing into another drawing, AutoCAD treats the inserted drawing like any other block reference. Subsequent insertions reference the block definition (which contains the geometric description of the block) with different position, scale, and rotation settings. If you change the original drawing after inserting it, the changes have no effect on the inserted block. If you want the inserted block to reflect the changes you made to the original drawing, you can redefine the block by reinserting the original drawing. This can be done with the InsertBlock method.
If you insert a drawing as a block, the file name is automatically used as the name of the block. You can change the name of the block by using the Name property once the block has been created.
>>
By default, AutoCAD uses the coordinate (0, 0, 0) as the base point for inserted drawings. You can change the base point of a drawing by opening the original drawing and using the SetVariable method to specify a different insertion base point for the INSBASE system variable. AutoCAD uses the new base point the next time you insert the drawing.
>>
If the drawing you insert contains PaperSpace objects, those objects are not included in the current drawing's block definition. To use the PaperSpace objects in another drawing, open the original drawing and use the Add method to define the PaperSpace objects as a block. You can insert the drawing into another drawing in either paper space or model space.
A block reference cannot be iterated to find the original objects that compose it. However, you can iterate the original block definition, or you can explode the block reference into its original components.
You can also insert an array of blocks using the AddMInsertBlock method. This method does not insert a single block into your drawing, as the InsertBlock does, but instead inserts an array of the specified block. This method returns an MInsertBlock object.
For more information on inserting blocks, see Insert Blocks in the User's Guide

Re: Проблема со вставкой блока.

> Дмитрий
Я читал это... Но не понял где делать этот самый SetVariable...

Re: Проблема со вставкой блока.

вероятно, перед тем как этот блок вставить в текущий файл.

Re: Проблема со вставкой блока.

> Дмитрий
Какое значение ставить переменной INSBASE?
В нее передавать координаты точки вставки?

Re: Проблема со вставкой блока.

> Дмитрий
Обнули INSBASE в файле блока.

Re: Проблема со вставкой блока.

РЕШИЛ ПРОБЛЕМУ!
Чтобы правильно вставлялся блок необходимо его экспортировать из AutoCad

Re: Проблема со вставкой блока.

Это как?

Re: Проблема со вставкой блока.

Чтобы блок правильно вставлялся необходимо при его определении правильно указывать точку привязки, тогда и экспортировать не придется.