Main > Free Download Search >

Free chemical drawing program software for linux

chemical drawing program

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 338
CAD::Drawing 0.26

CAD::Drawing 0.26


CAD::Drawing is a Perl module with methods to create, load, and save vector graphics. more>>
CAD::Drawing is a Perl module with methods to create, load, and save vector graphics.

SYNOPSIS

The primary intention of this module is to provide high-level operations for creating, loading, saving and manipulating vector graphics without having to be overly concerned about smile floormats. As the code has seen more use, it has also drifted into a general purpose geometry API.

The syntax of this works something like the following:

A simple example of a (slightly misbehaved) file converter:

use CAD::Drawing;
$drw = CAD::Drawing->new;
$drw->load("file.dwg");
my %opts = (
layer => "smudge",
height => 5,
);
$drw->addtext([10, 2, 5], "Kilroy was here", %opts);
$drw->save("file.ps");

This is a very basic example, and will barely scratch the surface of this modules capabilities. See the details for each function below and in the documentation for the backend modules.

<<less
Download (0.039MB)
Added: 2007-04-24 License: Perl Artistic License Price:
925 downloads
chemicalInventory 20070120

chemicalInventory 20070120


chemicalInventory is an intelligent tool for managing chemical inventories. more>>
Chemicalinventory is a web application that manage the chemical stock in a laboratory-, production- or other facilities, where chemicals must be safely stored, easily found and tracked. chemicalInventory solution is currently productive at The Danish University of Pharmaceutical Sciences
Main features:
- Search facility, with textual, structure and substructure search.
- Check in and out of containers.
- Multi-level location management.
- Label print with container information.
- Administration module for all data.
- History tracking of essential data.
- Report generation - on screen and paper.
- Sample Module - track analytical data.
- Share data cross organisation.
- Batch module. Link samples in batches/projects.
- Link to external ressources, msds
- ... and lots more..
Chemicalinventory is an open source project. The application is free*. Specific components of this application is licenced by third parties, and may require separate licence.
<<less
Download (30.7MB)
Added: 2007-02-17 License: GPL (GNU General Public License) Price:
979 downloads
File::Drawing 0.01

File::Drawing 0.01


File::Drawing release, revise and retrieve contents to/from a drawing program module. more>>
File::Drawing release, revise and retrieve contents to/from a drawing program module.

SYNOPSIS

##########
# Subroutine interface
#
use File::Drawing qw(
dod_date dod_drawing_number number2pm pm2number obsolete
broken backup);

$date = dod_date($sec, $min, $hour, $day, $month, $year);
$drawing_number = dod_drawing_number( );

$pm = number2pm($drawing_number, $repository);
$drawing_number = pm2number($drawing_number, $repository);

$old_value = config( $option );
$old_value = config( $option => $new_value);
(@all_options) = config( );

obsolete($drawing_number, $repository);
broken($drawing_number, $repository);
($file, $backup_file) = backup($drawing_number, $repository, $dir);

######
# Class Interface
#
use File::Drawing;

$default_options = defaults(@options);

$old_value = $default_options->config( $option );
$old_value = $default_options->config( $option => $new_value);
(@all_options) = $default_options->config( );

$drawing = new File::Drawing($contents, $white_tape, $pod, $file_contents, $drawing_number, $repository);

$drawing = File::Drawing->retrieve($drawing_number, @options);

$error = $drawing->release(@options);

$error = $drawing->revise(@options);

$date = $drawing->dod_date($sec, $min, $hour, $day, $month, $year);
$drawing_number = $$drawing->dod_drawing_number( );

$pm = $drawing->number2pm($drawing_number, $repository);
$drawing_number = $drawing->pm2number($drawing_number, $repository);

$drawing->obsolete($drawing_number, $repository);
$drawing->broken($drawing_number, $repository);
($file, $backup_file) = $drawing->backup($drawing_number, $repository, $dir);

Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.

The File::Drawing program module uses American National Standards for drawings as a model for storing data. Commercial, governement and casual orgainizations have stored information over the centuries as drawings. Drawings probably evolved from the census that the Romans rulers, started back when Rome was a little frontier town. In other words, the practices of the drafting displines have evolved over time and have stood the test of time.

Any deviation must be a crystal clear advantage. Many of the practices are in place to avoid common and costly human mistakes that obviously a computerize drafting system will not make. A good approach is to make the computerized data structure optimum for computers and have the computer render the computerized data into a form that meets the drafting standards.

The File::Drawing program module, uses the Perl program module name as a drawing repository, drawing number combination. The contents of the drawing is contained in the program module file. The < File::Drawing > program module established methods to retrieve contents from a program module drawing file, create an Perl drawing object with the contents, and methods to release and revise the contents in a program module drawing file from a Perl drawing object. Other popular methods for computerize date are the SQL and XML. Perl has a wide range of program modules using these approach.

In this time in history, the Drawings are highly standardize and even subject to Internationl standarization agreements. The Drawing Sheet Size and Format conform to ANSI Y14.1-1975 or its successor. The drawing has a box with zone numbers running right to left alon the top and bottom, and zone letters running bottom to top along the sides. There is a section inside the box, lower right corner with the blocks for such things as the title, drawing number, current revision, authoriztion, and sheet number. There is an expandable four column table in the top right corner to record the revision history.

<<less
Download (0.063MB)
Added: 2006-06-22 License: Perl Artistic License Price:
1219 downloads
CAD::Drawing::IO 0.26

CAD::Drawing::IO 0.26


CAD::Drawing::IO are I/O methods for the CAD::Drawing module. more>>
CAD::Drawing::IO are I/O methods for the CAD::Drawing module.

This module provides the load() and save() functions for CAD::Drawing and provides a point of flow-control to deal with the inheritance and other trickiness of having multiple formats handled through a single module.

Utility Functions

These are simply inherited by the CAD::Drawing module for your direct usage.
outloop

Crazy new experimental output method. Each entity supported by the format should have a key to a function in %functions, which is expected to accept the following input data:

$functions{$ent_type}->($obj, %data);

The %data hash is passed verbatim to each function.

$count = $drw->outloop(%functions, %data);

In addition to each of the $ent_type keys, functions for the keys before and after may also be defined. These (if they are defined) will be called before and after each entity, with the same arguments as the $ent_type functions.

is_persistent

Returns 1 if $filename points to a persistent (directory / db) drawing.

$drw->is_persistent($filename);

<<less
Download (0.039MB)
Added: 2006-10-25 License: Perl Artistic License Price:
1096 downloads
CAD::Drawing::IO::PgDB 0.03

CAD::Drawing::IO::PgDB 0.03


CAD::Drawing::IO::PgDB is a Perl module with PostgreSQL save / load methods. more>>
CAD::Drawing::IO::PgDB is a Perl module with PostgreSQL save / load methods.

This module is considered pre-ALPHA and under-documented. Its use is strongly discouraged except under experimental conditions. Particularly susceptible to change will be the table structure of the database, which currently does not yet even have any auto-create method.

Requisite Plug-in Functions

See CAD::Drawing::IO for a description of the plug-in architecture.

check_type

Returns true if $type is "circ" or $filename is a directory containing a ".circ" file.

$fact = check_type($filename, $type);

Back-End Input and output methods

The functions load() and save() are responsible for determining the filetype (with forced types available via $opt->{type}.) These then call the appropriate load< thing > or save< thing > functions.

load

Loads a CAD::Drawing object from an SQL database. $spec should be of the form required by the database driver.
$opts->{auth} = ["username", "password"] may be required to create a connection.

$drw->load($spec, $opts);

save

$drw->save($spec, $opts);

cleardb

Deletes the drawing and all of its entities from the database.

$drw->cleardb();

Internals

parse_options

Allows options to come in through the $spec or %opts.

%options = parse_options($spec, %opts);

sort_addr

Sorts through @addr_list and returns a hash of array references for each entity type.

%these = sort_addr($layer, @addr_list);

<<less
Download (0.008MB)
Added: 2007-03-17 License: GPL (GNU General Public License) Price:
952 downloads
CAD::Drawing::IO::Image 0.02

CAD::Drawing::IO::Image 0.02


CAD::Drawing::IO::Image is a Perl module with output methods for images. more>>
CAD::Drawing::IO::Image is a Perl module with output methods for images.

Requisite Plug-in Functions

See CAD::Drawing::IO for a description of the plug-in architecture.

check_type

Returns true if $type is "img" or $filename matches one of the ImageMagick type extensions.

$fact = check_type($filename, $type);

Methods

load

Requires vectorization...

load();

save

save();

image_color

image_color($color, $data);

<<less
Download (0.005MB)
Added: 2007-03-17 License: Perl Artistic License Price:
952 downloads
kfile_chemical 0.12

kfile_chemical 0.12


kfile_chemical is a set of kfile plugins for chemistry documents. more>>
kfile_chemical is a set of kfile plugins for chemistry documents. It has support for XYZ, PDB, MDL mol/sd, Mol2, CML, ShelX, SMILES and CIF files.
kfile_chemical is currently in alpha stage: 1.0 will be alpha too; it will be feature complete, i.e. proving plugins kfile plugins for all files mentioned at the official chemical mime page (and a few more).
Version 2.0 will be beta, and feature a more organized set of extracted pieces of information.
Version 3.0 will be beta too, and mime magic, which is a method to detect the mime type not from the file extension, but from the content.
Verion 4.0 will be the first stable release and is aimed to be ready with Kubuntu 6.04 and KDE 4.0.
Enhancements:
- This release adds support for chemical-mime-data, thus synchronizing with the main MIME type library for chemical data.
- It also fixes QChar / QString conversion, the FSF address, and the contact email address.
<<less
Download (0.10MB)
Added: 2006-07-10 License: GPL (GNU General Public License) Price:
1201 downloads
Frugal Windowing Environment 0.1.5

Frugal Windowing Environment 0.1.5


Frugal Windowing Environment, or FWE, is my basic windowing system for framebuffers. more>>
Frugal Windowing Environment, or FWE, is my basic windowing system for framebuffers. It currently works under Linux only and is in an alpha stage of development. The project is the logical next step from my previous system, FrameBufferUI (fbui), which is a small, in-kernel graphical user interface for Linux.
Main features:
- Frugality
- Small size (the current alpha version is 20 kB).
- Minimal resource requirements.
- Software simplicity
- Client-server architecture, with clients potentially located on remote computers (disabled at present)
- Graphics on each console with one server each.
- Basic drawing commands needed for frugal applications.
- Software bloat keeps us all on the treadmill of always buying new hardware, which ultimately new software makes painfully slow, thus we are always falling behind. But the software makes the system slow because it is poorly designed and poorly implemented and rushed work, with the frequent consequence that it is bloated. Thus the purchasing-treadmill is economically and materially wasteful. It profits the few while making the many suffer unnecessarily.
- Bloat is also bad for the Environment (which we live in and rely upon) since the manufacture of computer equipment involves the use of numerous very nasty chemicals which inevitably end up in the soil, water and air. Similarly the disposal of electronics results in chemicals leaching out of circuit boards, LCDs (which contain mercury) et cetera, which then enter the biosphere. We cannot afford to pretend this problem doesnt exist and we cannot afford to leave it to self-serving politicians to solve. It is better to solve the problem at the source: buy less hardware. (Article)
- Liberation from bloat is liberation from rushed work, poorly managed projects, and bad engineering. It is liberation from those project managers and programmers who, rather than produce better, leaner, less buggy software, pass on the consequences of their bad choice to users who must pay to upgrade their hardware to accommodate the bloat. And as that software gets bigger and bulk is piled upon bulk, increasing numbers of bugs and vulnerabilities arise which require, you guessed it, more upgrades.
<<less
Download (0.032MB)
Added: 2007-07-31 License: GPL (GNU General Public License) Price:
815 downloads
CAD::Drawing::Manipulate::Graphics 0.26

CAD::Drawing::Manipulate::Graphics 0.26


CAD::Drawing::Manipulate::Graphics - Gimp meets CAD. more>>
CAD::Drawing::Manipulate::Graphics - Gimp meets CAD.

Methods

All of these are CAD::Drawing methods (I force my own inheritance:)

image_init

Initialize the image at $addr based on the value at the fullpath key. This establishes the contained Image::Magick object and loads the image into memory in the image_handle key.

$drw->image_init($addr);

image_crop

Crops an image and its definition (actually, changes its insert point) according to the points given by @crop_points (which maybe had better be within the object (but I dont really sweat that.))

@crop_points should be in world coordinates as follows:

@crop_points = (
[$lower_left_x , $lower_left_y ],
[$upper_right_x, $upper_right_y],
);
# note that you can get these as
# ($drw->getExtentsRec($something))[0,2]

$drw->image_crop($addr, @crop_points);

image_scale

Scales both the image and the definition by $scale, starting at @base_point.

$drw->image_scale($addr, $scale, @base_point);

image_rotate

This leaves the definition orthoganal, expands the underlying image object, and resets the insert point and size properties accordingly.

$drw->image_rotate($addr, $angle, @point);

The current implementation does not handle the change to the image clipping boundary.

image_swap_context

This involves a scaling of the image (the contexts should be aligned over each other at this point or everything will go to hell.) Do your own move / rotate / crop before calling this, because all this does is to scale the underlying image object such that the vec property of the image definition at $dest_addr can be used correctly.

Note that this does not "swap" the image to $dest_addr, rather it uses the image definition of $dest_addr to change the image object and definition at $source_addr.
Also note that the image must fit completely inside (I think) of the destination in order for the composite to work correctly.

$drw->image_swap_context($source_addr, $dest_addr);

<<less
Download (0.039MB)
Added: 2006-10-25 License: Perl Artistic License Price:
1094 downloads
CAD::Drawing::IO::Tk 0.04

CAD::Drawing::IO::Tk 0.04


CAD::Drawing::IO::Tk is a Perl module with GUI I/O methods for CAD::Drawing. more>>
CAD::Drawing::IO::Tk is a Perl module with GUI I/O methods for CAD::Drawing.

This module is considered extremely pre-ALPHA and its use is probably deprecated by the time you read this.

Methods

There is no constructor for this class, its methods are inherited via CAD::Drawing::IO

Thoughts

Need to re-structure the entire deal to have its own object which belongs to the drawing object (or does the drawing object belong to this object?) Either way, we need to be able to build-up into interactive commands (possibly using eval("$drw->$command"); ?)

Ultimately, the focus here will likely drift toward supporting perlcad and enabling use of perlcad from within CAD::Drawing scripts. However, the nature of lights-out scripting vs the nature of on-screen drafting is quite different, so there will be some tricks involved. Once each entity has its own class, the ability to install callbacks and the resolution of notifications should get easier. But, there will still be the issue that a debug popup does not know it will appear when the entities are created, while a drafting viewport does (or does it?)

Possibly, adding a list of tk-ids to each $obj as it is drawn would be a good starting point, but this gets us into trouble with multiple viewports.

show

Creates a new window (no options are required.)

$drw->show(%options);

Available Options

forkokay => bool -- Attempt to fork the new window
window => MainWindow -- Use the pre-existing Tk object
stl => Message -- Use pre-existing Message widget
size => [W,H] -- Specify window size in pixels
width => W -- alias to size
height => H -- ditto
center => [X,Y] -- Center the drawing at (X,Y)
scale => factor -- Zoom by factor (default to fit)
bgcolor => color -- defaults to "white"
hang => boolean -- if not, you just get the canvas widget
items => @list -- sorry, not compatible with select_addr :(

Draw

Draws geometry on the Tk canvas $cnv. List of items to draw must be specified via addresses stored in $options{items}.
The newest fad (:e) is the $options{tag} argument, which uses addr_to_tktag() to tag the item.

$drw->Draw($cnv, %options);

tkbindings

Setup the keybindings.

$drw->tkbindings($mw, $cnv);

text_size_reset

text_size_reset($cnv);

free_dist

free_dist();

windowzoom

Creates temporary bindings to drawing a rubber-band box.

windowzoom($cnv);

tksetview

No longer used

$drw->tksetview($cnv, %options);

scalebox

Returns the scaling required to create a view which most closely matches @ext to @size of canvas.

$scale = $drw->scalebox(@size, @ext);

dsp subroutine refs

each of these should do everything necessary to draw the item on the canvas (but they might like to have a few options available?) and then return a list of the Tk ids of the created items. Caller will then assign identical tags to each id which is returned by each per-entity call.

tkpoint

Returns only the first and second element of an array reference as a list.

@xy_point = tkpoint(@pt);

addr_to_tktag

Returns a stringified tag of form: ### ###

my $tag = $drw->addr_to_tktag($addr);

tktag_to_addr

Returns an anonymous hash reference which should serve as an address, provided that $tag is a valid < layer >###< type >###< id > tag (and that the entity exists in the $drw object (check this yourself.)

my $addr = $drw->tktag_to_addr($tag);

<<less
Download (0.008MB)
Added: 2007-03-17 License: Perl Artistic License Price:
952 downloads
CAD::Drawing::Manipulate::Transform 0.26

CAD::Drawing::Manipulate::Transform 0.26


CAD::Drawing::Manipulate::Transform is a Perl module with Matrix methods for CAD::Drawing. more>>
CAD::Drawing::Manipulate::Transform is a Perl module with Matrix methods for CAD::Drawing.

Provides 3D transformation methods (based on traditional matrix algorithms) for Drawing.pm objects.

Coordinate System

All of these methods assume a RIGHT-HANDED coordinate system. If you are using a left-handed coordinate system, you are going to have trouble, trouble, trouble. We arent making video games here!

<<less
Download (0.039MB)
Added: 2007-03-16 License: GPL (GNU General Public License) Price:
953 downloads
GChemPaint 0.8.2

GChemPaint 0.8.2


GChemPaint is a 2D chemical structures editor for the Gnome desktop. more>>
GChemPaint is a 2D chemical structures editor for the Gnome desktop.

GChemPaint should enable embedding some chemistry in files from other programs using Bonobo.

<<less
Download (1.5MB)
Added: 2007-07-28 License: GPL (GNU General Public License) Price:
822 downloads
CAD::Drawing::IO::PostScript 0.03

CAD::Drawing::IO::PostScript 0.03


CAD::Drawing::IO::PostScript is a Perl module with PostScript output methods. more>>
CAD::Drawing::IO::PostScript is a Perl module with PostScript output methods.

I would like this module to both load and save PostScript vector graphics, but I have not yet found a suitable PostScript parsing package.

This module should be considered pre-ALPHA and untested. Some features rely on the authors hacks to PostScript::Simple, which may or may not have been incorporated into the CPAN distribution of PostScript::Simple. For bleeding-edge code, see http://ericwilhelm.homeip.net.

Requisite Plug-in Functions

See CAD::Drawing::IO for a description of the plug-in architecture.

check_type

Returns true if $type is "circ" or $filename is a directory containing a ".circ" file.

$fact = check_type($filename, $type);

Methods

load

load();

save

$drw->save($filename, %opts);

PostScript::Simple::setpscolor

PostScript::Simple::setpscolor();

<<less
Download (0.008MB)
Added: 2007-03-17 License: Perl Artistic License Price:
952 downloads
CAD::Drawing::IO::Compressed 0.26

CAD::Drawing::IO::Compressed 0.26


CAD::Drawing::IO::Compressed is a Perl module to load and save compressed data. more>>
CAD::Drawing::IO::Compressed is a Perl module to load and save compressed data.

Requisite Plug-in Functions

See CAD::Drawing::IO for a description of the plug-in architecture.

check_type

Returns true if $type is "compressed" or $filename has a ".gz" extension (probably the best way.)

$fact = check_type($filename, $type);

Compressed I/O functions

These use File::Temp and compression modules to create a compressed version of most supported I/O types (FIXME: need a tar scheme for directory-based formats (currently unsupported))

save

$drw->save($filename, %opts);

load

$drw->load($filename, %opts);

<<less
Download (0.039MB)
Added: 2007-03-16 License: Perl Artistic License Price:
953 downloads
CAD::Drawing::IO::Split 0.26

CAD::Drawing::IO::Split 0.26


CAD::Drawing::IO::Split is a Perl module that allows fast distributed text file methods. more>>
CAD::Drawing::IO::Split is a Perl module that allows fast distributed text file methods.

Requisite Plug-in Functions

See CAD::Drawing::IO for a description of the plug-in architecture.

check_type

Returns true if $type is "split" or $filename is a directory (need a tag?)

$fact = check_type($filename, $type);

Load/Save Methods

Concept here is to strip data down to the absolute bare minumum in an effort to find a generic and extensible incarnation of same.

save

Saves data into $toplevel_directory under a directory for each layer, each type, and a file for each id.

save($drw, $toplevel_directory, %options);

Requires that the directory already exists.

Selective saves not yet supported.

Unfortunately, the file-formats are rather primitive and the code needs refactoring. These are nowhere near stable, so dont expect version compatibility yet!

Needs a clear_all_like => $regex option.

load

load($drw, $toplevel_directory, %options);
%options may include selective-load arguments

Naming Functions

_dir_list
@list = _dir_list($dir);
_sp_filename

Creates nested directories which are required to save %obj and returns the filename which should be saved into.

_sp_filename(%obj, %data);

Inherited Methods

clear_dir

Removes layers (and items) from the split directory $dir.
Defaults to removing all.

$drw->clear_dir($dir, %options);

Available options:

like => qr/regex/, # if regex matches layer name
not_like => qr/regex/, # negative of above (compounded)

check_select() options:

%options is passed through CAD::Drawing::Defined::check_select(), so the selections returned by it will be utilized here.

select_layers => @layer_list,
select_types => @types_list,

Returns the number of items removed or undef() if $dir does not exist.

<<less
Download (0.039MB)
Added: 2007-03-16 License: Perl Artistic License Price:
952 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5