| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить значение ширины столбца в ячейке таблицы AutoCad?

Как получить значение ширины столбца в ячейке таблицы AutoCad?

Ответ
Поиск в этой теме
Непрочитано 29.02.2016, 02:46 #1
Как получить значение ширины столбца в ячейке таблицы AutoCad?
mvartem
 
Регистрация: 28.03.2012
Сообщений: 19

можно ли в ячейку таблицы вставить значение ширины столбца?

Последний раз редактировалось mvartem, 29.02.2016 в 09:26.
Просмотров: 6500
 
Непрочитано 29.02.2016, 06:23
1 | #2
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Код:
[Выделить все]
'получить значение
x= .GetColumnWidth(k)
     .SetText r, k, x 'вставить полученное значение
Владимир_М вне форума  
 
Автор темы   Непрочитано 29.02.2016, 06:37
#3
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Код:
[Выделить все]
'получить значение
x= .GetColumnWidth(k)
     .SetText r, k, x 'вставить полученное значение
Спасибо, но куда вставить код? В саму ячейку?
mvartem вне форума  
 
Непрочитано 29.02.2016, 08:02
#4
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Код в ячейку вставлять не надо. Даже если Вы откроете редактор VBA и вставите его туда, то тоже этот код не будет работать.
Просто дан ответ на Ваш вопрос: "можно ли в ячейку таблицы вставить значение ширины столбца?"
Можно? - да. Дальше непонятно, что Вы хотите и в каком виде?
Владимир_М вне форума  
 
Автор темы   Непрочитано 29.02.2016, 08:06
#5
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


C таким же успехом можно просто написать "можно".

Нужно следующее. В ячейке таблицы должна динамически отображаться ширина столбца, в которую эта ячейка входит.
То есть нарисовал таблицу. Вставил в ячейки некое выражение или код, в результате которого отображается ширина столбца.
mvartem вне форума  
 
Непрочитано 29.02.2016, 08:31
#6
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,407


Цитата:
Сообщение от mvartem Посмотреть сообщение
можно ли в ячейку таблицы вставить значение ширины столбца?
Цитата:
Сообщение от mvartem Посмотреть сообщение
C таким же успехом можно просто написать "можно".
А что Вы хотите? Какой вопрос - такой ответ
Admin вне форума  
 
Автор темы   Непрочитано 29.02.2016, 08:41
#7
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


Хорошо, я переформулирую вопрос

Рисую продольные профили. Использую стандартные таблицы автокад.

Есть необоходимость в том, чтобы в ячейке отображалась и динамически изменялось значение ширины столбца, в который входит ячейка.
Каким образом это будет реализовано - не важно.
mvartem вне форума  
 
Непрочитано 29.02.2016, 08:42
#8
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Цитата:
Сообщение от mvartem Посмотреть сообщение
C таким же успехом можно просто написать "можно".
Ну, тут зависело от уровня знаний спрашивающего. Кому-то, возможно, было бы и достаточно. Вы в своем вопросе не указали ни уровня, ни даже предпочтительного языка кода (Вы же зашли в раздел Программирование).

Цитата:
Сообщение от mvartem Посмотреть сообщение
Нужно следующее. В ячейке таблицы должна динамически отображаться ширина столбца, в которую эта ячейка входит.
То есть нарисовал таблицу. Вставил в ячейки некое выражение или код, в результате которого отображается ширина столбца.
Вставил в ячейки некое выражение или код..
Про код уже сказал, не надо его вставлять в ячейку. Выражение? насколько я знаю, нет в акадовских таблицах такой возможности. Даже в экселе нет функции с получением ширины колонки. Да и "выражение" это как бы и не программирование.
Сделать макрос, который проставит ширину колонки, повторяюсь, можно, но это уже будет работать не совсем так, как вы хотите.
А если еще и динамически должна отображаться ширина столбца, это уже задача совсем другого уровня сложности.
Владимир_М вне форума  
 
Автор темы   Непрочитано 29.02.2016, 08:47
#9
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


Хорошо, Владимир, как вы видите решение?
К чему относится приведенный вами код? Что с ним делать?
Мой уровень знаний в лиспе - базовый.
mvartem вне форума  
 
Непрочитано 29.02.2016, 09:52
#10
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


можно
Кстати есть Civil 3D - он ещё и с TIN умеет работать...

Цитата:
Мой уровень знаний в лиспе - базовый.
при чём тут lisp?
trir вне форума  
 
Автор темы   Непрочитано 29.02.2016, 10:01
#11
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


Цитата:
Сообщение от trir Посмотреть сообщение
при чём тут lisp?
не важно))) я уже понял, что задачу не осилю ))))
mvartem вне форума  
 
Непрочитано 29.02.2016, 10:42
#12
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Цитата:
Сообщение от mvartem Посмотреть сообщение
Хорошо, я переформулирую вопрос

Рисую продольные профили. Использую стандартные таблицы автокад.

Есть необоходимость в том, чтобы в ячейке отображалась и динамически изменялось значение ширины столбца, в который входит ячейка.
Каким образом это будет реализовано - не важно.
Рисую продольные профили. Наверное это ключевая фраза. Вот теперь, наверное, дошло до меня чего Вы хотите.
Есть какой-то ряд чисел (видимо расстояния). Это исходные данные. Нужно создать (или отредактировать существующую) табличку, таким образом, чтобы ширины колонок этой таблички соответствовали бы этому ряду чисел (в масштабе , видимо). Так примерно?
Владимир_М вне форума  
 
Автор темы   Непрочитано 29.02.2016, 10:53
#13
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


Процесс происходит следующим образом: Есть план линейного сооружения разбитого на участки с проставленными длинами.

Рисую таблицу. Ширина каждой колонки соответствует длине определенного участка. Задаю через свойства столбца его ширину и хочу, чтобы эта ширина отобразилась в ячейке таблицы, чтобы вручную не проставлять.
Далее, если придется её изменить - я просто двигаю за ручку столбца и значение изменяется.

Позже приложу файл, пока нет возможности.
mvartem вне форума  
 
Непрочитано 29.02.2016, 13:11
#14
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Цитата:
Сообщение от mvartem Посмотреть сообщение
Процесс происходит следующим образом: Есть план линейного сооружения разбитого на участки с проставленными длинами.

Рисую таблицу. Ширина каждой колонки соответствует длине определенного участка. Задаю через свойства столбца его ширину и хочу, чтобы эта ширина отобразилась в ячейке таблицы, чтобы вручную не проставлять.

Позже приложу файл, пока нет возможности.
Я ж вам предлагаю более эффективный процесс (это не значит, что согласен написать макрос, речь идет про постановку задачи пока что). Ваше дело только объяснить приложению какие именно числа с чертежа надо взять в процесс. А сам процесс может быть уже таким:
1 Рисую таблицу. Пусть ее рисует приложение.
2. Задаю через свойства столбца его ширину Все уже задано приложением.
3. эта ширина отобразилась в ячейке таблицы, чтобы вручную не проставлять. Да, приложение так и сделает.

Цитата:
Сообщение от mvartem Посмотреть сообщение
Далее, если придется её изменить - я просто двигаю за ручку столбца и значение изменяется.
Вот это как я уже и говорил сложнее. Но тут опять к вам вопрос: а точно ли надо Вам это? Может просто стереть старую табличку, и нажать на кнопочку для выполнения макроса по-новой, с новыми данными?
Владимир_М вне форума  
 
Автор темы   Непрочитано 29.02.2016, 15:16
#15
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


Я точно знаю, что мне нужно. И это не перерисовка таблицы заново. Ладно, закрываю тему, а то получается как в известной картинке: чего хотел и чего получил. Всем спасибо за ответы.
mvartem вне форума  
 
Непрочитано 01.03.2016, 08:52
#16
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588



Надеюсь идея понятна и программирования не требует.

Попробовал зайти с другого конца, через реакторы.
Так же работает.
Ссылка на видео:https://youtu.be/gta9-Rhx2BA


В общем у автора топика есть 2 решения его задачи.
1 - через дополнительные объекты(линии) и поля в таблице ссылающиеся на длины этих линий
2 - Программно через реактор на изменения объекта

Последний раз редактировалось Boxa, 01.03.2016 в 16:06. Причина: Добавил второй способ
Boxa вне форума  
 
Автор темы   Непрочитано 02.03.2016, 09:43
#17
mvartem


 
Регистрация: 28.03.2012
Сообщений: 19


2 Boxa
Да, в ролике именно то, что нужно.

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

Но самостоятельно реализовать идею с реакторами я не смогу. Поэтому забил до лучших времен.
mvartem вне форума  
 
Непрочитано 05.03.2016, 14:12
#18
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


1. А если использовать "одноячеичные" таблицы и ссылаться полем на ширину таблицы?
2. А если использовать соответствующим образом настроенный стиль ассоциативных размеров (только не с таблицей, а уже с простым прямоугольником)?
Примеры во вложении.
Вложения
Тип файла: dwg
DWG 2010
Ширина ячейки в ней же.dwg (74.8 Кб, 66 просмотров)
skkkk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить значение ширины столбца в ячейке таблицы AutoCad?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Создание поля (field), ссылающегося на текстовое значение ячейки таблицы. skkkk Готовые программы 141 24.11.2023 15:49
Ссылка на текст в ячейке таблицы из другой таблицы в Autocad Julia-94 AutoCAD 9 06.08.2016 11:48
Вставка поля в таблице с параметром ширина ячейки (или столбца) Rojik AutoCAD 1 11.06.2014 20:55
Копирование текста из одного столбца таблицы в другую таблицу до первой точки или запятой antiponf Программирование 11 13.03.2012 17:00
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17