|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
Дима_, попробовал твою программу. Вроде бы все правильно делает, но мне нужен именно лисп, чтобы я в дальнейшем разобрался в нем и мог сам добавлять в него что-нибудь или убирать.
CB, попробовал твой лисп, выдает ошибку: Command: (test) *Cancel* bad argument type: numberp: {\\FTIMES Олег (jr.), потестировал твой лисп. Все хорошо работает, только номера точек ставятся по порядку, начиная с 1. А мне нужно, чтобы номера совпадали с названием точки (1Э06, 2Э06 и т.д). Можно это сделать? Последний раз редактировалось Макс_Кунгур, 27.08.2010 в 13:39. |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
Смотри сам Последний раз редактировалось Олег (jr.), 27.08.2010 в 14:47. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Нет. Это личный выбор каждого, тем более что "подправить" иногда и не зная языка получается.
p.s. если б я ее на VB, C# или ассемблере написал - это-ж не значит, что я его изучить предлагаю. p.p.s если б предполагалось, что человек сам хочет написать - я б код в жизни бы не написал, еслиб только советом помог как сделать, здесь не мало народу (включая меня) которые так сами и программировать на лиспе научились - если время позволяет - в любом случае полезней с автокадом и лисп знать (ну хотя-бы ориентироваться), чем руками чертить.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 27.08.2010 в 14:52. |
|||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
Цитата:
В тестовом примере такого нет. Набери (entget (car (entsel))), ткни в Mtext и покажи что получилось... Интересует первая группа. У меня выдает следующий результат (с учетом z-координаты) r1Э04-2Э04 47.35 r1Э04-4Э04 36.41 r1Э04-5Э04 55.73 r2Э04-1Э04 47.35 r2Э04-4Э04 56.79 r2Э04-5Э04 36.53 r4Э04-1Э04 36.41 r4Э04-2Э04 56.79 r4Э04-5Э04 47.34 r5Э04-1Э04 55.73 r5Э04-2Э04 36.53 r5Э04-4Э04 47.34 |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
То СВ у тебя нет проверки м-текста (в рисунке могут не только с точками быть но и любые другие - на них по ходу и спотыкается) - самый простой вариант - в ssget "_x" убери - пусть рамкой нужные выбирает (хорошо - еще лисп вылетел а не в данные врет).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
>Дима_
Цитата:
Код:
Код:
>Макс_Кунгур Пробуй такой вариант: Код:
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
по этому я и говорю, что не нужно вобще здесь использовать сгененированный автокадом рисунок, искать в нем тексты и пр, получаеться много лишней работы - работать надо всегда с первоисточником данных (в нашем случае - текстовой файл), что у меня и сделанно, но уж коли это необходимо именно под автокад (хотя мне лично не понятно зачем он тут), можно переправить лисп под него, только мне уже честно лень этой программой заниматься, да и автора походу все (Олега лисп по крайней мере) устраивает.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
CB, потестировал твой лисп, выдает в csv файле:
Код:
Олег (jr.), твой последний вариант подходит,то, что нужно, только у тебя в результирующем файле расстояния начинаютя от наибольшего названия точки, а не от наименьшего расстояния и до самого большого. Можно это переделать? Последний раз редактировалось Кулик Алексей aka kpblc, 31.08.2010 в 14:18. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Может, просто надо формат ячеек сменить?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
~'J'~ Последний раз редактировалось Олег (jr.), 02.09.2010 в 09:40. |
|||
![]() |
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
Олег (jr.), у тебя сейчас данные стоят с наименьшего НОМЕРА по наибольший. А мне надо с наименьшего РАССТОЯНИЯ по наибольшее. Т.е., у тебя сейчас выходит:
Point: 1Э04 2Э04 45.2358 4Э04 35.007 5Э04 55.5601 7Э06 397.179 9гЭ06 389.487 ...................... А надо: Point: 1Э04 4Э04 35.007 2Э04 45.2358 5Э04 55.5601 9гЭ06 389.487 7Э06 397.179 ...................... |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
Олег (jr.), проверил твое последнее творение. То что нужно, огромное спасибо! Скажи, у тебя в подсчете координата z присутствует или нет? Потому что, мне обязательно нужно, чтобы она присутствовала!!!
CB, выкладываю файл, на котором тестировал твой лисп. Последний раз редактировалось Макс_Кунгур, 02.09.2010 в 13:19. |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
она учитывает Z координату если точка 3d, так что все пучком ~'J'~ |
|||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
>Макс_Кунгур
Цитата:
Где в этом файле r141.2-140.0 31.мар r141.2-147.5 28.сен и т.д. Да и выше у тебя получалась ошибка {\\FTIMES Значит какому-то Mtext'у присвоен текстовый стиль TIMES... Да и вообще, наверняка в файле присутствует Мтекст, не имеющий отношения к точкам, а его нужно отфильтровать в ssget'е... Во всяком случае проверяй слегка обновленный вариант, тестируемый на том чертеже, что ты выложил (функции dwgru-string-replace, dwgru-string-to-list, mip_MTEXT_Unformat - без изменений): Код:
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
по крайней мере в приложенном примере точки были двухмерными а координата z должна была "тягаться" из текста (собственно почему я и начал говорить - что здесь проще вобще рисунком не пользоваться, а использовать исходный текстовой файл) - посему результат у тебя без учета z - неверный.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Расстояния между компенсаторами тепловых сетей | proekt_mep | Отопление | 10 | 29.05.2012 14:17 |
Определение высот рельефа по близлежащим точкам | dextron3 | Программирование | 21 | 10.11.2011 13:14 |
Расстояние между проемами в соседних пожарных отсеках (блокированные жилые дома) | Koliabek | Пожарная безопасность | 11 | 13.05.2009 11:17 |
Расстояние между видами на чертеже | Сеченов | Разное | 14 | 09.02.2009 15:50 |
Как определить расстояние между 2 точками по spline? | Хотабыч | Программирование | 5 | 22.01.2006 15:33 |