He did not give any details, but insisted that Iran would never halt its programme to enrich uranium, which can be used to make a nuclear warhead.
He also promised that Iran would never yield to the West if it continued to use “the language of force and insult”.
He said Israel’s government was “rightly” very concerned about Iran’s nuclear programme but added that he did not believe it had decided whether to launch a military strike.
Tehran insists its programme is entirely peaceful.
In a speech broadcast on state television, Mr Ahmadinejad told a large crowd in Tehran’s Azadi Square that “all needs of the Iranian nation” would be met by its nuclear scientists in the near future.
“God willing, the world will witness the inauguration of great achievements in the nuclear sphere in a few days,” he added.
The president said Western powers were using the nuclear issue as a “pretext” to work “against the development of the Iranian nation”.
“They say that they want to talk to us. We have always been ready for talks. Well, they should be within the framework of justice and respect.”
“I clearly declare that if you (the West) use the language of force and insult, the Iranian nation will never yield to you,” he said.
Demonstrators carrying Iranian flags and pictures of the Supreme Leader, Ayatollah Ali Khamenei, chanted “Death to Israel” and “Death to America”.
Talks between Iran and six world powers – the US, UK, France, Germany, Russia and China – on the nuclear programme collapsed a year ago and show little sign of resuming, despite recent efforts to restart them by Turkey.
Iran refuses to negotiate over its uranium enrichment programme, but Western countries say there is no point in talking unless it is on the agenda.
In November, the UN’s International Atomic Energy Agency (IAEA) said it had information suggesting Iran had carried out tests “relevant to the development of a nuclear explosive device”.
Since then, European Union member states have increased the economic pressure on Tehran by approving a ban on imports of Iranian crude oil.
The US does not buy Iranian oil, but it has placed sanctions on Iran’s banks to make it harder for the country to sell crude.