Сообщество программистов Autodesk в СНГ
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
1 час
1 день
1 неделя
1 месяц
Навсегда
Новости:
Звонок в техподдержку Autodesk Forge
Начало
Сайт
Правила
Помощь
Поиск
Непрочитанные
Календарь
Вход
Регистрация
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
AutoCAD .NET API
»
Отсутствие базы чертежа при создании 3д-полилинии
« предыдущая тема
следующая тема »
Печать
Страницы: [
1
]
Вниз
Автор
Тема: Отсутствие базы чертежа при создании 3д-полилинии (Прочитано 8655 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Atomohod
ADN OPEN
Сообщений: 453
Карма: 1
Отсутствие базы чертежа при создании 3д-полилинии
«
:
29-11-2021, 11:35:24 »
Здравствуйте!
При создании зд-полилинии получаю ошибку отсутствия базы чертежа. См. скриншот. База под отладчиком видна. В чем может быть проблема?
Метод где выскакивает ошибка
Код - C#
[Выбрать]
public
ObjectId Create
(
Point3d start, Point3d end
)
{
Document doc
=
Application
.
DocumentManager
.
MdiActiveDocument
;
Database db
=
doc
.
Database
;
Transaction tr
=
db
.
TransactionManager
.
StartTransaction
(
)
;
ObjectId edgeId
=
default
;
using
(
tr
)
{
BlockTable bt
=
(
BlockTable
)
db
.
BlockTableId
.
GetObject
(
OpenMode
.
ForRead
)
;
BlockTableRecord btr
=
(
BlockTableRecord
)
tr
.
GetObject
(
db
.
CurrentSpaceId
, OpenMode
.
ForWrite
)
;
Line edge
=
new
Line
(
)
;
edge
.
StartPoint
=
start
;
edge
.
EndPoint
=
end
;
edge
.
Layer
=
"Edges"
;
Polyline3d plineCrosshair1
=
new
Polyline3d
(
)
;
// plineCrosshair1.SetDatabaseDefaults();
plineCrosshair1
.
AppendVertex
(
new
PolylineVertex3d
(
start
)
)
;
plineCrosshair1
.
AppendVertex
(
new
PolylineVertex3d
(
edge
.
GetPointAtDist
(
0.25
*
edge
.
Length
)
)
)
;
plineCrosshair1
.
AppendVertex
(
new
PolylineVertex3d
(
end
)
)
;
plineCrosshair1
.
Layer
=
"Edges"
;
btr
.
AppendEntity
(
plineCrosshair1
)
;
tr
.
AddNewlyCreatedDBObject
(
plineCrosshair1,
true
)
;
edgeId
=
plineCrosshair1
.
ObjectId
;
tr
.
Commit
(
)
;
}
return
edgeId
;
}
Записан
Отмечено как Решение
Atomohod
29-11-2021, 13:16:16
Александр Ривилис
Administrator
Сообщений: 13898
Карма: 1790
Рыцарь ObjectARX
Skype:
Re: Отсутствие базы чертежа при создании 3д-полилинии
«
Ответ #1 :
29-11-2021, 12:47:44 »
Сначала:
Код - C#
[Выбрать]
btr
.
AppendEntity
(
plineCrosshair1
)
;
а затем уже
Код - C#
[Выбрать]
plineCrosshair1
.
AppendVertex
(
new
PolylineVertex3d
(
start
)
)
;
plineCrosshair1
.
AppendVertex
(
new
PolylineVertex3d
(
edge
.
GetPointAtDist
(
0.25
*
edge
.
Length
)
)
)
;
plineCrosshair1
.
AppendVertex
(
new
PolylineVertex3d
(
end
)
)
;
Записан
+1/-0 к карме за данное сообщение
Не забывайте про правильное
Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился
правильный ответ
, то не забудьте про кнопку
Решение
Atomohod
ADN OPEN
Сообщений: 453
Карма: 1
Re: Отсутствие базы чертежа при создании 3д-полилинии
«
Ответ #2 :
29-11-2021, 13:17:47 »
Спасибо, работает.
Тогда есть такой вопрос- если не находится сама полилиния до добавления в базу, то почему ошибка про отсутствие самой базы?
Записан
Александр Ривилис
Administrator
Сообщений: 13898
Карма: 1790
Рыцарь ObjectARX
Skype:
Re: Отсутствие базы чертежа при создании 3д-полилинии
«
Ответ #3 :
29-11-2021, 13:54:25 »
Потому что становится непонятно в какую базу добавлять вершины, если сама полилиния не содержится в базе.
Записан
Не забывайте про правильное
Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился
правильный ответ
, то не забудьте про кнопку
Решение
Печать
Страницы: [
1
]
Вверх
« предыдущая тема
следующая тема »
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
AutoCAD .NET API
»
Отсутствие базы чертежа при создании 3д-полилинии