|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
прочитать файл в массив ансиса
Регистрация: 17.12.2007
Сообщений: 37
|
||
Просмотров: 7320
|
|
||||
Сообщений: n/a
|
Вы можете прочитать текстовый файл Exceleм или Calcом, там расставить запятые и вообще привести к нужному виду. Можете все таки разобраться с импортом (хотя это и непросто). Я один раз это делал командой *TREAD (в задаче нужно было прочитывать параметры, задаваемые в текстовом файле)- раза со второго или с третьего получилось. Вы напишите что за конкретно стоит задача, что за файлы, которые ансис сам создает и прочитать не может. Все что ему полагается считывать для расчетов (файлы коррдинат узлов, элементов, параметров) - он считывает отдельными функциями. Просто уметь считать абсолютно любой файл - это непросто. Да это и нормальных языках программирования не всегда просто.
|
|||
|
||||
>в 1500 строчках запятые ставить?
Find&Replace не поможет?
__________________
Reshaping the STEM field |
||||
![]() |
|
||||
Сообщений: n/a
|
Не отчаивайтесь. Кто сказал, что все просто...
У вас есть некий файл и вы хотите забить его в массивы ансиса? Командами ансиса надо еще уметь конечно, но всегда есть запасное решение. 1) научитесь импортировать текстовые файлы в Экселе. Раза с третьего получится расставить числы по ячейкам. 2) В экселе можете вставлять между столбцами новые столбцы, генерировать произвольно запятые и т.д. Пусть у вас есть столбцы 3.2 1.1 5.5 2.4 2.8 9.5 Сделайте из него (добавлением и размножением, в независимости от размеров файла - одно и то же время) array(1,1,1)=3.2 $ array(1,2,1)=1.1 array(2,1,1)=5.5 $ array(2,2,1)=2.4 array(3,1,1)=2.8 $ array(3,2,1)=9.5 Потом выделяете этот фрагмент книги и тупо вставляете ансису в коммандную строку или в Session Editor. А если в Экселе еще и скрипт на VBA написать, то можно вообще что угодно сделать. Последний раз редактировалось The_Mercy_Seat, 19.03.2008 в 13:49. |
|||
|
||||
Сообщений: n/a
|
Т.е. вы хотите универсальное решение для многократного применения?
Если запись в файл не строго форматная (т.е. числа занимают строго определенную позицию в строчке), то я не знаю, можно ли это сделать средствами ансиса вообще. Практически, если вы сделаете один раз в Экселе, то что я вам описал - в следующий у вас этой займет три минуты. А пока можете сосредоточится на операциях с массивами, вы же для чего то их создаете ... |
|||
|
||||
дискретизатор континуума (бывший) Регистрация: 28.09.2005
Уфа
Сообщений: 299
|
Вот есть пара примеров на эту тему
Расчет многопролетной балки Как перегнать сортамент из SCAD/Lira в ANSYS? Последний пример несколько устаревший. Он был сделан мной "на заре коммунизма". Но все же может быть полезен. Я же сейчайс делаю по 1му примеру с некоторыми вариациями. В APDL достаточно простора для фантазии. PS. Исходные данные как правило готовлю в экселе и сохраняю как текстовый файл с разделителями табуляции.
__________________
я еще не волшебник, я только учусь |
|||
![]() |
|
||||
Регистрация: 17.12.2007
Сообщений: 37
|
Цитата:
На данный момент, все что я хочу сделать с этим массивом - это посторить по нему кейпойнты, а взяв данные из другого массива, соединить их линиями, так что проблем по операциям с массивами пока нет. |
|||
![]() |
|
||||
Регистрация: 10.03.2005
Кемерово
Сообщений: 277
|
Требуется прочитать файл с произвольными разделителями в массив вектор? Может так?
1. Создать массив-таблицу D1 и массив-вектор D2 2. Прочитать файл *TREAD (безформатное чтение) в массив-таблицу D1 3. Конвертировать массив-таблицу в массив-вектор (команда *MFUN,D2(1,1),COPY,D1(0,0) Последний раз редактировалось novinkov, 19.03.2008 в 15:44. |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
Цитата:
Переносите текст в Excel дорабатываете данные там автоматизированным копированием и вставками. Координаты разделяете запятой, впереди присобачиваете K, Перед линиями LSTR, (или L, ). И все. Несколько механических операций как в тумане и перед вами - код айпидээль. Просто выделяете нужный фрагмент, нажимаете Ctrl+C потом открываете текстовый файл и нажимаете Сtrl +v |
|||
|
||||
Регистрация: 17.12.2007
Сообщений: 37
|
Цитата:
![]() |
|||
![]() |
|
||||
Проектирование Регистрация: 18.11.2007
Москва
Сообщений: 4
|
Чтобы вам помочь конкретнее надо знать что содержит данный файл и предполагаемые в дальнейшем . Выложите его или приведите хотя бы часть массива.
Если форматы чисел в строках не совпадают, например так: 0 0 0 0 10.001 10.001 10.001 10.001 то считать массив командой *VREAD можно только так как я вам написал. Это более или менее универсальный способ. Или пользуйтесь командой *TREAD как уже советовали. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите открыть файл :-( | Tramp | AutoCAD | 16 | 12.08.2011 17:25 |
Файл сохранен тока для просмотра можно ли его редактировать | Анальный пират | AutoCAD | 3 | 17.02.2008 06:01 |
непонятный "битый" файл | gvs | AutoCAD | 6 | 22.02.2007 23:09 |
После выключения слоя файл не открывается в AutoCAD 2004! | sak213 | AutoCAD | 1 | 29.08.2006 08:24 |
Проблема непонятно с чем. АДТ 2005 | VG | Прочее. Программное обеспечение | 3 | 12.08.2005 11:36 |